如何从overview_path创建路由?

时间:2013-06-04 21:24:06

标签: javascript google-maps-api-3

我尝试使用其所有地理位置重新创建我保存在数据库中的路线,并且我尝试使用方向Rederer来执行此操作

function addOldRoute(){
    var waypts =[];
    for ( var int = 0; int < elems.length; int++) {
        if(int !=0 && int!=elems.lenght-1){
            waypts.push(getWaypoint(elems[int]));
        }
    }

       var request = {
              origin: new google.maps.LatLng(elems[0].latLng.lat(),elems[0].latLng.lng()),
              destination: new google.maps.LatLng(elems[elems.length-1].latLng.lat(),elems[elems.length-1].latLng.lng()),
              waypoints: waypts,
              optimizeWaypoints: true,
              travelMode: google.maps.TravelMode.DRIVING
          };

       directionsService.route(request, function(result, status) {
            if (status === google.maps.DirectionsStatus.OK) {
                directionsDisplay.setDirections(result);
                addPontos();
                if (directionsDisplay.getMap() == null) {
                    directionsDisplay.setMap(mapAddRota);
                }
            }
        });
}

function getWaypoint(elem){
    return {
        location:new google.maps.LatLng(elem.latLng.lat(), elem.latLng.lng()),
        stopover:true
    };
}

路线没有,我收到一条消息,告诉我超过了最大值

1 个答案:

答案 0 :(得分:1)

使用free API is 8的单个路线请求中的最大航点数:

  

允许的最大航点为8,加上原点和目的地。 Maps API for Business   客户可以获得23个航点,加上起点和目的地。航点不是   支持过境方向。

如果您拥有“所有地理位置”,则不需要路线服务,您只需绘制折线即可。如果原始路线请求不包含航路点,那么您应该能够仅使用起点和终点(已保存路线的终点)重新创建航点,如果它确实包含航路点,您还需要保存它们。 / p>

请注意,“overviewpath”(位于标题中,但不是问题中)并不总是包含完全遵循道路所需的“所有地理点”。