【问题标题】:Google Maps API: find a main route/Alternate route between two pointsGoogle Maps API:找到两点之间的主要路线/备用路线
【发布时间】:2016-06-06 10:04:56
【问题描述】:

我想获得两个位置之间的主要路线。我已经找到了距离和持续时间,但我想获得如下图所示的主要路线,我想获得“通过 1-57 S”。我尝试按照代码获取路线,但路线太多;我只想在图片中圈出一个建议的方向。

例如:

directionsService.route(request, function(result, status) {
    if (status == google.maps.DirectionsStatus.OK)
    {
        alert("Root length: "+result.routes.length);
        for (var i = 0; i < result.routes.length; i++)
        {       
            var dur = result.routes[i].legs[0].distance.value/1000;     
            var steps = result.routes[i].legs[0].steps;  
            for (j = 0; j < steps.length; j++) {
                var nextSegment = steps[j].instructions;
                alert("nextSegment: " + nextSegment + " path latlong: "+steps[j].path);
            }   

            var hours = Math.floor((result.routes[i].legs[0].duration.value)/3600);
            var minutes = Math.ceil(((result.routes[i].legs[0].duration.value) - (hours * 3600)) / 60);
        }        
    }
});

图片:

Example image to find main route(circled in image) to reach destination

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:

    “via route x”在每个路由对象summary中(没有“via”这个词,但您可以自己添加)。

    directionsService.route(request, function (response, status) {
    
        if (status == google.maps.DirectionsStatus.OK) {
    
            var routes = response.routes;
    
            for (var i = 0; i < routes.length; i++) {
    
                // Display the routes summary in a div
                document.getElementById('routes').innerHTML += 'Via ' + routes[i].summary + '<br />';
            }
        }
    });
    

    下面是一个(相当复杂的)示例,说明如何获取每条路线的详细信息并将其显示在地图上。

    JSFiddle demo

    【讨论】:

      猜你喜欢
      • 2011-08-08
      • 2010-11-03
      • 2013-01-11
      • 1970-01-01
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      • 1970-01-01
      相关资源
      最近更新 更多