B0c9dd86e3a4c56cd21ce9a0c2b3a325
Cesium项目实战(8)-路径规划-集成百度、高德、腾讯地图路径规划服务(高德篇)

本篇继续接着上一篇的百度篇来介绍高德篇,介绍一下接入高德地图的路径规划服务。

路径规划系列文章:路径规划之百度篇 路径规划之高德篇 路径规划之腾讯篇

提前需要准备的工作:

  1. 注册高德开放平台,并在 我的应用 中申请一个Web服务的key。
  2. 在高德 API文档 中了解每种路径规划的基础说明。
  3. 当然,需要预先了解一下上篇 百度篇 的内容。
  4. 百度篇谈到的百度地图用到的是BD09坐标系,高德地图使用的是GCJ02坐标系。

效果图:



接下来,我们直接开始接入高德地图路径服务。

1、准备好路径规划API地址(跟百度篇一样,我们接入了公交、驾驶、骑行三种服务)

"公交": "https://restapi.amap.com/v3/direction/transit/integrated?origin={start}&destination={end}&city=010&key=",
"驾驶": "https://restapi.amap.com/v3/direction/driving?origin={start}&destination={end}&key=",
"骑行": "https://restapi.amap.com/v4/direction/bicycling?origin={start}&destination={end}&key="

2、发起调用

var startPointA = startPoint.split(",");
var endPointA = endPoint.split(",");
var w = coordinateTransform.wgs84togcj02(startPointA[0], startPointA[1]); // 坐标转换
var g = coordinateTransform.wgs84togcj02(endPointA[0], endPointA[1]); // 坐标转换
var url = routes[dataSource][method].replace("{start}", w[0] + "," + w[1]).replace("{end}", g[0] + "," + g[1]);
fetchJsonp(url).then(response => response.json()).then(data => {
  analyzeResponseA(data);
})

3、解析数据,可视化绘制

// 驾车模式
var steps = data.route.paths[0].steps;
for (var i = 0; i < steps.length; i++) {
  var path = steps[i].polyline;
  allPath += path + ";";
  all_road_name += "<li>" + steps[i].instruction + "</li>";
}

```

top Created with Sketch.