@Value("{amap.key}")private String key;@Autowiredprivate RestTemplate restTemplate;public DirectionResponse direction(String depLongitude, String depLatitude, String destLongitude, String destLatitude){//组装请求调用的urlStringBuffer urlBuild = new StringBuffer();urlBuild.append(AmapConfigConstants.DIRECTION_URL);urlBuild.append("?");urlBuild.append("origin="+depLongitude+","+depLatitude);urlBuild.append("&");urlBuild.append("destination="+destLongitude+","+destLatitude);urlBuild.append("&");urlBuild.append("extensions=base");urlBuild.append("&");urlBuild.append("output=json");urlBuild.append("&");urlBuild.append("key="+key);String url = urlBuild.toString();log.info("url",url);//调用高德接口ResponseEntity<String> directionEntity = restTemplate.getForEntity(url, String.class);log.info("高德返回信息",directionEntity.getBody());DirectionResponse directionResponse = parseDirectionEntity(directionEntity.getBody());//解析接口return directionResponse;}private DirectionResponse parseDirectionEntity(String body) {DirectionResponse directionResponse = null;try {JSONObject result = JSONObject.fromObject(body);if (result.has(AmapConfigConstants.STATUS)) {if (result.getInt(AmapConfigConstants.STATUS)==1) {if (result.has(AmapConfigConstants.ROUTE)) {JSONObject routeObject = result.getJSONObject(AmapConfigConstants.ROUTE);JSONArray pathsArray = routeObject.getJSONArray(AmapConfigConstants.PATHS);JSONObject pathObject = pathsArray.getJSONObject(0);directionResponse = new DirectionResponse();if (pathObject.has(AmapConfigConstants.DISTANCE)) {int distance = pathObject.getInt(AmapConfigConstants.DISTANCE);directionResponse.setDistance(distance);}if (pathObject.has(AmapConfigConstants.DURATION)) {int duration = pathObject.getInt(AmapConfigConstants.DURATION);directionResponse.setDuration(duration);}}}}return directionResponse;} catch (Exception e) {return null;}}

常量类

public class AmapConfigConstants {/*** 路径规划地址*/public static final String DIRECTION_URL = "https://restapi.amap.com/v3/direction/driving";/*** json key*/public static final String STATUS = "status";public static final String ROUTE = "route";public static final String PATHS = "paths";public static final String DISTANCE = "distance";public static final String DURATION = "duration";}

网约车调用高德地图计算距离和时间相关推荐

  1. Java对接高德地图计算距离_高德地图计算两点之间的距离java+html

    高德地图现在使用比较多了,但是高德地图计算两点之间的距离有些问题.下面提供一个很好的解决方案. 代码如下: /** * 两点的经纬度获取两点距离米 * @param (121.293986,37.27 ...

  2. php高德地图计算距离接口,高德地图计算两坐标之间距离

    最近在做与地图相关的应用,使用了高德地图,研究了下高德地图计算两坐标距离的方法,官网上提供的开发包中有相关的方法,但是我的产品中比较特殊,无法直接使用提供的方法,所以就自己封装了相关计算方法,供大家参 ...

  3. Java对接高德地图计算距离_JAVA 调用高德地图查询距离接口

    高德上也有详细的申请key的教程 这里需要一个最主要的jar包,就是https://files-cdn.cnblogs.com/files/java-pan/lib.rar,直接访问,就下载了,解压就 ...

  4. php 高德地图计算距离,距离、长度、面积

    JS API 为开发者提供了空间数据计算的函数库 AMap.GeometryUtil,可以帮助开发者计算点线面空间关系.长度.面积等函数.更多示例请查看 示例中心 本章我们将介绍一些常用的数学计算方法 ...

  5. php高德地图计算距离接口,路径长度-距离/面积计算-示例中心-JS API 示例 | 高德地图API...

    点到线的距离和最近点 html,body,#container{ height: 100% } //初始化地图对象,加载地图 var map = new AMap.Map("containe ...

  6. SSM网约车管理系统毕业设计源码051630

    摘  要 时代的进步催生了一些事物,网约车便是近年社会发展的衍生物,并且在不长的时间内占领了大批市场,规模的日益扩大,一些负面的东西也开始浮出水面,犹如一颗石子投入水中,涟漪不断扩张.中国有句古话,无 ...

  7. SSM网约车管理系统毕业设计-附源码051630

    摘  要 时代的进步催生了一些事物,网约车便是近年社会发展的衍生物,并且在不长的时间内占领了大批市场,规模的日益扩大,一些负面的东西也开始浮出水面,犹如一颗石子投入水中,涟漪不断扩张.中国有句古话,无 ...

  8. (附源码)SSM网约车管理系统 毕业设计 051630

    SSM网约车管理系统 摘 要 时代的进步催生了一些事物,网约车便是近年社会发展的衍生物,并且在不长的时间内占领了大批市场,规模的日益扩大,一些负面的东西也开始浮出水面,犹如一颗石子投入水中,涟漪不断扩 ...

  9. 快递下单后取消订单_网约车定位地点不动,男子别的平台下单,没取消订单要付6.6元...

    众所周知,在平台上网约车的时候,要是超出一定时间放鸽子,通常都是要扣除乘客部分钱,反之是司机取消了订单,平台同样会给司机处罚,在路程近的单子上,有些司机是接了后就不想跑,但是也不想取消订单被降权,有时 ...

最新文章

  1. POJ2669不错的最大流 竞赛问题(枚举King的个数)
  2. oracle存储过程无效字符_Oracle存储过程基础+ 错误代码
  3. 云笔记项目-过滤器与拦截器学习
  4. C++:11---友元函数、友元类
  5. flume-ng命令
  6. 转移印花技术基础知识及应用方法
  7. 用SpringMVC参数传递时,解决get请求时中文乱码的问题
  8. 3星|《大产品,小团队》:携程软件开发流程改进的故事
  9. 关于百度地图海量打点的问题
  10. android数据线投屏电视机,手机连接电视机的办法很多,连接效果也有很大差异,下面为大家介绍...
  11. js传参中文格式不对乱码
  12. 【098】人民币数字转换大写?
  13. JAVA实验3 学校教师类
  14. Cesium中的儒略日JulianDate
  15. Linux中安装苹果系统
  16. 用java实现歌手大赛
  17. Java线上诊断工具:Arthas简单快速学习
  18. 力荐!50 个最实用的免费机器学习数据集
  19. C/C++图形库EasyX快速上手指南【1】——绘图窗口和基本图形文字绘制
  20. 51单片机模拟数字键盘输入以及图像显示+Proteus仿真

热门文章

  1. list 分批_java List(分割)分批处理
  2. Kali渗透测试——被动信息收集之Recon-NG框架
  3. 基于python计算曲线的曲率
  4. angular ts 表格_Angular2表格/可排序/table
  5. 设计模式中的撩妹神技--上篇
  6. c语言浮点型常量7.0f,C语言学习 - 浮点型数据类型
  7. 2021年度总结 - 工作四年半记
  8. web攻防世界进阶篇
  9. 其他消息中间件及场景应用(下1)
  10. Visual Studio(管理代码工具)如何使用