根据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. 青少年编程竞赛交流群周报(第042周)
  2. 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory
  3. 计算机二级c语言填空题怎么算分,计算机二级C语言题型和评分标准
  4. 《帝王三部曲》——二月河
  5. (组合数学笔记)Pólya计数理论_Part.6_置换群的循环指数
  6. C++提高部分_C++普通函数与函数模板的区别---C++语言工作笔记084
  7. linux哪个文件夹不能乱改,Linux的文件夹权限如何更改
  8. Python3.6读写串口操作
  9. Spring + MyBatis配置整合
  10. Mocha: 58同城 App 基于卡片的线上 AB 测(线上卡片动态换)
  11. 用计算机术语写诗,网上盛行写诗软件 电脑作诗毫无逻辑令人喷饭
  12. Tomcat9 配置HTTPS连接
  13. 关于电影《暗杀》背后的故事和想法
  14. 苹果手机微信消息备份
  15. 谷歌中国宣布启用简短域名g.cn
  16. 单片机中 读引脚 和读锁存器的区别
  17. React+DvaJS 之 hook 路由权限控制
  18. javabean 一些这方面的快捷键
  19. windows安装maven
  20. 智能内容安全平台的运营维护与分享

热门文章

  1. Java面试常见问题及答案
  2. 求职(从一个APP开发的设想看SNS的商业模式)
  3. 伴娘礼服上的年华(一)
  4. 浏览器主页被篡改,修改注册表也不能改回来!
  5. MSE 微服务治理发布企业版,助力企业构建完整微服务治理体系
  6. 机器人计算机作文,关于机器人的作文5篇
  7. 骑士放置(最大独立集)
  8. Fabric 1.0源代码分析(24)MSP(成员关系服务提供者)
  9. access vba代码大全_Access 与 Excel 之对比 (翻译)
  10. java毕业设计 Vue网上购物商城系统(含源码+论文)