2013-02-20 72 views
-1

我正在使用Google Directions API。用户在地图上放置标记作为开始和结束点。你能告诉我如何添加更多路线点到路线?现在我只能添加两个标记:开始点和结束点。我想知道我应该如何定义是否要添加4,5个或更多路线点? 这是我的代码:如果您希望Google计算路标的顺序,使路线最短真:如何将更多路线点添加到Google Directions路线?

function addRoute(event) { 
     if(markers.length < 50){ 
      var marker = new google.maps.Marker({ 
       position: event.latLng, 
       map: map, 
       draggable: true 
      }); 
      markers.push(marker); 
     } 

     if(markers.length == 2){ 
      var start = markers[0].getPosition(); 
      var end = markers[1].getPosition(); 

      putDirections(start, end); 

      $(markers).each(function(i, marker){ 
       google.maps.event.addListener(marker, 'dragend', function(){ 
        clearDirections(); 
        var start = markers[0].getPosition(); 
        var end = markers[1].getPosition(); 
        putDirections(start, end); 
       }); 
      }); 
     } 
    } 
+0

您是否问如何将[waypoints](https://developers.google.com/maps/documentation/javascript/directions#Waypoints)添加到DirectionsRequest? – geocodezip 2013-02-20 15:43:13

+0

用户点击地图,出现如起点的标记,用户再次单击,出现B标记,用户再次单击并出现C标记。所以路线从A到B以及从B到C自动计算。那可能吗? – boofighter 2013-02-20 17:33:10

回答

0
directionsService.route({waypoints: waypts, /*other options*/}); 

您还可以添加optimizeWaypoints。