百度地图用ip获取当前位置的经纬度(高精度)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度地图用ip获取当前位置的经纬度(高精度)相关的知识,希望对你有一定的参考价值。

步骤比较简单
先上百度地图API官网,申请一个应用AK(访问凭据);查看一下高进度定位的API,看看是否都符合要求
下面直接上代码
/**
 * 根据ip获取地理坐标
 * @param ip
 * @return
 */
public JSONObject getCoorsByIp(String ip){
   if (null == ip) {
      ip = "";
   }
   try {
      URL url = new URL("http://api.map.baidu.com/highacciploc/v1?qcip="+ip+
            "&qterm=pc&ak="+*********+"&coord=bd09ll");
      InputStream inputStream = url.openStream();
      InputStreamReader inputReader = new InputStreamReader(inputStream);
      BufferedReader reader = new BufferedReader(inputReader);
      String results=reader.readLine();
      if(!StringUtils.hasText(results)){
         return null;
      }
      JSONObject resultsJson = JSONObject.fromObject(results); //返回值为标准json格式
      JSONObject resultJson = JSONObject.fromObject(resultsJson.get("result"));
      String result = resultJson.get("error").toString();
      if(!result.equals("161")){
         logger.info("根据ip获取经纬度失败!");
         return null;
      }
      JSONObject contentJson = JSONObject.fromObject(resultsJson.get("content"));
      JSONObject coorJson = JSONObject.fromObject(contentJson.get("location"));
      return coorJson;
   } catch (MalformedURLException e) {
      e.printStackTrace();
   } catch (IOException e) {
      e.printStackTrace();
   }
   return null;
}
个人感觉百度的高进度定位还是不太准确,只能是定位大致区域

还有一种是普通定位,无非请求的url不一致,其他的都差不多

以上是关于百度地图用ip获取当前位置的经纬度(高精度)的主要内容,如果未能解决你的问题,请参考以下文章

小程序可以实现地图点选 获取经纬度位置信息功能吗?

如何用PHP获取百度地图

百度地图--api--获取经纬度

vue中调用百度地图 获取经纬度

怎么用经纬度查找自己在地图中的位置?

怎么用百度地图api自动获取当前位置(谷歌的也行)