高德地图实时根据多个点位绘制路径曲线怎么做
时间: 2023-07-04 12:23:13 浏览: 80
如果您要在高德地图上绘制多个点之间的路径曲线,可以使用高德地图JavaScript API提供的AMap.Driving类。这个类可以帮助您计算两个或多个点之间的路线,并返回路线的经纬度坐标数组。然后,您可以使用这些坐标绘制路径曲线。
以下是一个示例代码,演示了如何使用AMap.Driving类计算两个点之间的路线,并使用Polyline对象绘制路径曲线。
```javascript
// 初始化地图
var map = new AMap.Map('mapContainer', {
center: [116.39, 39.9],
zoom: 13
});
// 创建AMap.Driving对象
var driving = new AMap.Driving({
map: map,
panel: 'panel'
});
// 定义多个点
var points = [
[116.379028, 39.865042],
[116.414032, 39.865042],
[116.414032, 39.899042],
[116.379028, 39.899042]
];
// 调用AMap.Driving.search方法计算路线
driving.search(points, function(status, result) {
if (status === 'complete' && result.info === 'OK') {
// 获取路线经纬度坐标数组
var path = result.routes[0].path;
// 创建Polyline对象绘制路径曲线
var polyline = new AMap.Polyline({
path: path,
strokeColor: '#3366FF',
strokeWeight: 5,
strokeOpacity: 0.8
});
polyline.setMap(map);
} else {
alert('路线计算失败');
}
});
```
在这个示例代码中,我们定义了一个包含多个点的数组points。然后,我们使用AMap.Driving.search方法计算这些点之间的路线。一旦计算完成,我们就可以获取路线的经纬度坐标数组,并使用Polyline对象绘制路径曲线。
请注意,如果您要绘制多个点之间的路径曲线,您可以将这些点作为数组传递给AMap.Driving.search方法。如果您要在地图上显示起点和终点,您可以将这些点作为数组的第一个和最后一个元素传递给AMap.Driving.search方法,并使用Marker对象在地图上显示它们。