根据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地址获取地理位置及坐标(离线方式)相关推荐

  1. 根据ip地址获取地理位置及坐标

    根据ip获取地理位置信息,不用http和webservice接口,减少请求时间.我们可以利用了GeoLite2 库,GeoLite2 数据库是一个免费的 IP 地理定位数据库,GeoLite2 Cou ...

  2. C# 网络编程之通过ip地址获取地理位置(补充)

    前面我写过一篇文章"C# 网络编程之获取本机名.ip地址.域名.物理位置"里面可以根据输入的网址根据其ip地址获取器物理位置,其中该部分主要代码是通过有道网提供的在线第三方接口实现 ...

  3. java 根据IP地址获取地理位置

    来源:http://www.ipplus360.com/tech/api/ 来源:http://blog.csdn.net/Cryhelyxx/article/details/40862101 精确查 ...

  4. 根据IP地址获取地理位置

    之前做了一个天气预报,里面就用到了根据IP自动定位技术,今天就给大家分享一波:根据IP地址自动定位. 想要实现根据IP地址定位,你要做的事有如下两点: 第一:获取本机的IP地址 注意:这里指的是公网的 ...

  5. 根据当前ip地址获取地理位置

    public function get_position(){$ip = $_SERVER['REMOTE_ADDR'];if(empty($ip)){x_json( 0,'缺少用户ip');}$ur ...

  6. java 根据ip地址获取地理位置及运营商。

    1.基于淘宝API /**      * 根据ip获取城市(运营商)名称      * @param ip      * @return      * @throws Exception      * ...

  7. 根据IP地址获取物理位置

    1.导入maven坐标 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all&l ...

  8. python 通过ip获取城市_如何根据普通ip地址获取当前地理位置

    前言: 我们现在需要做的功能是根据ip地址获取当前地理位置,是Web 服务API,获取后的位置信息一般是城市级别的,不是很精确的那种获取. (1)开发者需要做的准备工作: 需要登录百度地图的api,点 ...

  9. 如何根据普通ip地址获取当前地理位置(利用百度API)

    前言: 我们现在需要做的功能是根据ip地址获取当前地理位置,是Web 服务API,获取后的位置信息一般是城市级别的,不是很精确的那种获取. (1)开发者需要做的准备工作: 需要登录百度地图的api,点 ...

最新文章

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

热门文章

  1. DHT11的使用资料
  2. 《嵌入式系统 - 玩转中科蓝讯(AB32VG1)开发板(基于RT-Thread系统)》第4章 看门狗
  3. mob sdk vue 短信验证_vueCli集成环信SDK
  4. MATLAB概率分布函数
  5. 视频会议多画面怎么实现
  6. 如何提升乡村治理水平
  7. Windows端口号设置范围
  8. Pytorch奇技淫巧
  9. RegexBuddy图文使用教程
  10. How to be a master?