根据ip地址获取地理位置及坐标
根据ip获取地理位置信息,不用http和webservice接口,减少请求时间。我们可以利用了GeoLite2 库,GeoLite2 数据库是一个免费的 IP 地理定位数据库,GeoLite2 Country 与 City 数据库在每月的第一个周二更新。GeoLite2 ASN 数据库的更新时间为每周二。
数据库下载 : https://dev.maxmind.com/zh-hans/geoip/geoip2/geolite2/#i
java文档: http://maxmind.github.io/GeoIP2-java/
以下是一个工具类demo
首先将下载好的文件放置的resources 目录下,这利用的是city数据库
工具类编写
/**
ip地理坐标获取工具类
*/
public class Geoip2Client {public static Map<String,Object> getGenIp(String ipAddr){
Map<String,Object> result = new HashMap<>();
try{
String dbPath = this.getClass().getClassLoader().getResource(“GeoLite2-City.mmdb”).getPath();
// 这是GeoIP2 或 GeoLite2 database 文件所在的位置 ,此处从项目resources路径下获取,当然也可以写成绝对路径
File database = new File(dbPath);DatabaseReader reader = new DatabaseReader.Builder(database).withCache(new CHMCache()).build();InetAddress ipAddress = InetAddress.getByName(ipAddr);CityResponse response = reader.city(ipAddress);Country country = response.getCountry();Subdivision subdivision = response.getMostSpecificSubdivision();City city = response.getCity();Location location = response.getLocation();result.put("lat",location.getLatitude());//纬度result.put("long",location.getLongitude()); // 经度result.put("country",country.getNames().get("zh-CN"));// 国家名result.put("subdivision",subdivision.getNames().get("ja"));//省份result.put("city",city.getNames().get("ja")); // 城市} catch( Exception e){e.printStackTrace();}return result;
}
}
根据ip地址获取地理位置及坐标相关推荐
- 根据ip地址获取地理位置及坐标(离线方式)
根据ip获取地理位置信息,不用http和webservice接口,减少请求时间.我们可以利用了GeoLite2 库,GeoLite2 数据库是一个免费的 IP 地理定位数据库,GeoLite2 Cou ...
- C# 网络编程之通过ip地址获取地理位置(补充)
前面我写过一篇文章"C# 网络编程之获取本机名.ip地址.域名.物理位置"里面可以根据输入的网址根据其ip地址获取器物理位置,其中该部分主要代码是通过有道网提供的在线第三方接口实现 ...
- java 根据IP地址获取地理位置
来源:http://www.ipplus360.com/tech/api/ 来源:http://blog.csdn.net/Cryhelyxx/article/details/40862101 精确查 ...
- 根据IP地址获取地理位置
之前做了一个天气预报,里面就用到了根据IP自动定位技术,今天就给大家分享一波:根据IP地址自动定位. 想要实现根据IP地址定位,你要做的事有如下两点: 第一:获取本机的IP地址 注意:这里指的是公网的 ...
- 根据当前ip地址获取地理位置
public function get_position(){$ip = $_SERVER['REMOTE_ADDR'];if(empty($ip)){x_json( 0,'缺少用户ip');}$ur ...
- java 根据ip地址获取地理位置及运营商。
1.基于淘宝API /** * 根据ip获取城市(运营商)名称 * @param ip * @return * @throws Exception * ...
- 根据IP地址获取物理位置
1.导入maven坐标 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all&l ...
- python 通过ip获取城市_如何根据普通ip地址获取当前地理位置
前言: 我们现在需要做的功能是根据ip地址获取当前地理位置,是Web 服务API,获取后的位置信息一般是城市级别的,不是很精确的那种获取. (1)开发者需要做的准备工作: 需要登录百度地图的api,点 ...
- 如何根据普通ip地址获取当前地理位置(利用百度API)
前言: 我们现在需要做的功能是根据ip地址获取当前地理位置,是Web 服务API,获取后的位置信息一般是城市级别的,不是很精确的那种获取. (1)开发者需要做的准备工作: 需要登录百度地图的api,点 ...
最新文章
- 青少年编程竞赛交流群周报(第042周)
- 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory
- 计算机二级c语言填空题怎么算分,计算机二级C语言题型和评分标准
- 《帝王三部曲》——二月河
- (组合数学笔记)Pólya计数理论_Part.6_置换群的循环指数
- C++提高部分_C++普通函数与函数模板的区别---C++语言工作笔记084
- linux哪个文件夹不能乱改,Linux的文件夹权限如何更改
- Python3.6读写串口操作
- Spring + MyBatis配置整合
- Mocha: 58同城 App 基于卡片的线上 AB 测(线上卡片动态换)
- 用计算机术语写诗,网上盛行写诗软件 电脑作诗毫无逻辑令人喷饭
- Tomcat9 配置HTTPS连接
- 关于电影《暗杀》背后的故事和想法
- 苹果手机微信消息备份
- 谷歌中国宣布启用简短域名g.cn
- 单片机中 读引脚 和读锁存器的区别
- React+DvaJS 之 hook 路由权限控制
- javabean 一些这方面的快捷键
- windows安装maven
- 智能内容安全平台的运营维护与分享