首页 > 代码库 > 百度地图用ip获取当前位置的经纬度(高精度)
百度地图用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获取当前位置的经纬度(高精度)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。