映射路线历史

时间:2013-01-24 21:20:36

标签: javascript google-maps-api-3

我需要显示一条包含1,000-2,000(纬度/经度)点的路线。

我试图这样做,但我不认为这是一个很好的解决方案,显示这么多点的路线;请告知最好的方法。

function calcRoute() {    
    var request = {
        origin:new google.maps.LatLng(37, -97),
        waypoints: [
        {
            location:new google.maps.LatLng(39, -97),
            stopover:false
        },{
            location:new google.maps.LatLng(32, -95),
            stopover:false
        }],
        destination:new google.maps.LatLng(37, -97),
        travelMode: google.maps.DirectionsTravelMode.DRIVING
    };    

    directionsService.route(request, function(response, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            directionsDisplay.setDirections(response);
        }
    });
}

1 个答案:

答案 0 :(得分:0)

您可以使用google.maps.DirectionsRoute对象的overview_path(简化)并将折线直接添加到地图,而不是将整个结果传递给DirectionsRenderer,例如:

directionsService.route(request,plot);


function plot(result,status){
    if (status == google.maps.DirectionsStatus.OK) {
        for (var n = 0 ;n < result.routes.length ; n++ ){
            addLine(result.routes[n].overview_path);
        }
    }
}

function addLine(path){
    var line = new google.maps.Polyline ({
    path: path,
    map: map
    });
}