我需要在屏幕上显示一张地图,那里有我需要去的地方的行程。
我需要按顺序显示它,并且地图可以按顺序显示我需要去的地方的完整路线。
我知道可以创建标记,但我想从起始位置和结束位置开始在地图上按顺序创建点,可能有多个位置,但我希望地图跟踪访问序列中位置之间的完整路线。
我在谷歌地图API文档中没有找到任何允许我这样做的东西,可以这样做吗?
在这个例子中,我已经完成了地图需要去的 2 个航点,然后用这些航点渲染地图,解决了 TSP 问题(旅行推销员问题(
loadMap(){
// create a new map by passing HTMLElement
let mapEle: HTMLElement = document.getElementById('map_canvas');
let directionsService = new google.maps.DirectionsService();
let directionsDisplay = new google.maps.DirectionsRenderer();
// create map
this.map = new google.maps.Map(mapEle, {
center: this.start,
zoom: 13
});
directionsDisplay.setMap(this.map);
var request = {
origin:{lat: -34.6496604, lng: -58.4047352},
destination:{lat: -34.650078, lng: -58.402425},
waypoints: //your array of waypoints, example [{
location:{lat: -34.597353,lng: -58.415832},
stopover: true
},
{
location:{lat: -34.608441,lng: -58.406194},
stopover: true
}],
optimizeWaypoints:true,
provideRouteAlternatives: false,
travelMode: 'DRIVING'
};
directionsService.route(request, function(response, status) {
if (status == 'OK') {
directionsDisplay.setDirections(response);
}
});
}
使用谷歌地图的Javascript API解决,有关更多信息,请查看:https://developers.google.com/maps/documentation/javascript/directions