根据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
1. 首先将下载好的文件放置的resources 目录下,这利用的是city数据库
2. 工具类编写
/*** 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,点 ...
最新文章
- 通俗易懂:8大步骤图解注意力机制
- 参加第十届的队员给智能车竞赛的建议:抄能力+钞能力使得一届不如一届
- 关于“航天•轻舟机器人国赛技术交流会”邀请函
- http header 具体解释
- 看,这就是你脱下谷歌眼镜的世界——多乏味!
- 删库跑路如何预防?—— Oracle创建只读账号详细教程
- 会计基础第八章内容2
- 配置ftp方式的yum源的各种排错
- Cannot declare member function ...to have static linkage错误
- AMOS分析技术:路径分析;用SPSS做路径分析麻烦?那就用AMOS分析吧
- 自动窗宽窗位的一些思路
- 全球资产定价之锚上行提速,科技股恐祸不单行?
- 苹果电脑macos Monterey 12.5(21G72)dmg原版引导版镜像下载
- VRRPv2和VRRPv3对比区别
- 经典0-1背包问题(C++解决代码优化版本)
- 化繁为简,这家企业如何撬动千亿美元物联网服务大市场
- win10彻底关闭自动更新方法步骤:
- 结构-行为-样式-angularJs 指令实现滚动文字
- 东北大学OJ-1229: 实验4-1 :华氏摄氏温度转换(顺序结构)
- binary_search