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