0

我想添加通过拖动路线点来更改路线的功能。它为 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); 
4

1 回答 1

0

问题解决了,拖动后我没有清除变量。所以路由总是在拖动后添加

于 2013-08-24T20:49:54.217 回答