通过高德地图API取得两点坐标间的距离

您所在的位置:网站首页 地图方向坐标 通过高德地图API取得两点坐标间的距离

通过高德地图API取得两点坐标间的距离

2023-05-21 06:13| 来源: 网络整理| 查看: 265

       高德地图在取两点间的距离比百度地图更详细,可以分为几种类型的API,提供的步行、公交、驾车查询。今天咱们使用驾车的API来计算两点的距离。其它的API大同小异。

      参考高德地图的API地址:路径规划-API文档-开发指南-Web服务 API | 高德地图API

      注意关键字是:路径规划。

      这是实际可用的代码。

public static double distanceCalculationSite(String start, String end) { BufferedReader in = null; //高德地图KEY String url = "https://restapi.amap.com/v3/direction/driving"; String ak = "替换成你的key"; //发型不能乱,如果参数顺序有错误,可能会得到20000的错误,参数错误 String output = "json"; url = url+"?origin="+start+"&destination="+end+"&extensions=all"+"&output="+output+"&key="+ak; try { URL tirc = new URL(url); URLConnection connection = tirc.openConnection(); connection.setDoOutput(true); in = new BufferedReader(new InputStreamReader(tirc.openStream(), "UTF-8")); String res; StringBuilder sb = new StringBuilder(""); while ((res = in.readLine()) != null) { sb.append(res.trim()); } String str = sb.toString(); ObjectMapper mapper = new ObjectMapper(); if (StringUtils.isNotEmpty(str)) { JsonNode jsonNode = mapper.readTree(str); JsonNode resultNode = jsonNode.findValue("route"); JsonNode locationNode = resultNode.findValue("toll_distance"); return locationNode.asDouble(); } } catch (Exception e) { log.error("{高德地图获取两点驾驶距离}------------>"+e); e.printStackTrace(); } return 0; }

总结: 1. 高德地图提供了更详细的距离查询API,包括步行、公交和驾车等多种方式。本文采用的是驾车距离查询API。 2. 该API使用GET请求,需要传入起点和终点坐标,ak开发者key以及output输出格式等参数。 3. 响应返回JSON格式的数据,包含驾车距离信息。需要解析JSON数据来获取距离信息。 4. 代码示例展示了如何发送请求,接收响应,并解析JSON数据来获取驾车距离(单位为米)。 5. 代码使用Java实现,需要导入相关库如HttpURLConnection,JSONObject等。 6. 如果参数顺序错误,可能会得到20000等错误码,需要注意参数的正确性。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3