-1

我需要显示一条由 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);
        }
    });
}
4

1 回答 1

0

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

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
    });
}
于 2013-01-26T09:19:59.227 回答