我想添加通过拖动路线点来更改路线的功能。它为 1 点工作,但下一个点是在第一个点之后添加的。当我拖到最后,然后在开始时,它会越过终点 end 然后回到起点。我从结果航点中添加了点并将其用于计算。
var myroute = result.routes[0];
for (var i = 0; i < myroute.legs.length; i++) {
ges += myroute.legs[i].distance.value;
for (var y = 0; y < myroute.legs[i].via_waypoints.length; y++) {
waypoints.push({
location: myroute.legs[i].via_waypoints[y],
stopover: false
});
};
我用optimizeWaypoints尝试过,但也没有用。
var selectedMode = document.getElementById('mode').value;
var request = {
origin: start,
destination: ende,
waypoints: waypoints,
optimizeWaypoints: true,
travelMode: google.maps.TravelMode[selectedMode]
};
它在地图上显示正确,但在图表中显示错误。(其拖动的顺序)
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
elevationService.getElevationAlongPath({
path: response.routes[0].overview_path,
samples: SAMPLES
}, plotElevation);