根据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,点 ...
最新文章
- HDU 2896 病毒侵袭 AC自己主动机题解
- 全卷积神经网路【U-net项目实战】论文中U-Net网络实现
- 在命令窗口执行java文件时,提示找不到或无法加载主类
- Android连接相机WiFi,安卓手机使用佳能相机机身wifi传输拍摄的操作
- Python案例:输出指定范围的闰年
- ubuntu下Chrome浏览器字体问题 字体发虚解决办法
- 反比例函数matlab,matlab拟合指定反比例函数,在线等
- 苹果蓝牙连接不上是什么原因_为什么无线鼠标几乎都不用蓝牙连接呢?延迟、回报率是硬伤...
- android动画特效,安卓——之Animation动画特效
- 福昕阅读器最新注册方法
- mac回车键、空格键失灵解决方法
- 第五章 区块链怎么玩 [25]
- android 平板原笔迹,9.7英寸的NFC和原始笔迹手写平板安卓平板电脑 汉普平板
- 天马行空 PCI理解
- truncate 释放表空间
- C# 报表设计器 (winform 设计端)开发与实现生成网页的HTML报表 开放源码及调试
- 数据库操作的异常Cannot perform this operation because the connection pool has been close
- 「万达董事会大换血」背后 | 一点财经
- 声纹、语音识别入门书籍推荐
- 那就祝你有数不尽的鲜花和浪漫