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

热门文章

  1. Linux命令·nl
  2. sap开发语言_我应该怎么学习SAP?
  3. linux ibm mq 安装,消息发送与接收
  4. 遨博协作机器人ROS开发 - 机械臂复杂轨迹规划
  5. music功能 vue_Vue 全家桶实现移动端酷狗音乐功能
  6. 静下心来想想,为什么领域模型对于架构师如此重要?
  7. 游戏素材网站资源共享与下载
  8. 用VBA向列表框(ComboBox或ListBox)中填加数据
  9. 计算机内外存储器论文,计算机组成原理探讨论文(2)
  10. linux 卸载iscsi,iscsi挂载和删除