directions - 默认情况下,我们如何从Google Direction API获取从A点到B点的最短距离路线

标签 directions google-directions-api

默认情况下,我们如何从Google Direction API建议的替代 route 获得从A点到B点的最短距离路线?默认情况下,它会根据当前交通状况为我们提供最短持续时间的路线。我已经注意到,如果您打开“provideRouteAlternatives = true”,则google会以多种替代路线进行响应,我想知道是否可以将参数发送给Google API,从而默认情况下始终返回最短距离路线

最佳答案

正如Rameshwor所提到的,由Google返回的建议路线可能针对行程时间而不是行程距离进行了优化。如果指定了一个或多个航路点,则无论如何都只能返回一条路线,但是以编程方式,最好假设总是会返回一条以上的路线。

以下示例显示了一种使用jQuery查找最短旅程距离的路线的简单方法;请注意,此代码未经过优化,但可以正常工作:

var route_options = [];

for (var i = 0; i < response.routes.length; i++)
{
    var route = response.routes[i];
    var distance = 0;

    // Total the legs to find the overall journey distance for each route option
    for (var j = 0; j < route.legs.length; j++)
    {
        distance += route.legs[j].distance.value; // metres
    }

    route_options.push({
        'route_id': i,
        'distance': distance
    });
}

/*
route_options = [
    {route_id:0, distance:35125},
    {route_id:1, distance:22918},
    {route_id:2, distance:20561}
];
*/

// Sort the route options; shortest to longest distance in ascending order
route_options.sort(function(a, b) {
    return parseInt(a.distance) - parseInt(b.distance);
});

/*
route_options = [
    {route_id:2, distance:20561},
    {route_id:1, distance:22918},
    {route_id:0, distance:35125}
];
*/    

var shortest_distance = (route_options[0]['distance'] * 0.001); // convert metres to kilometres

然后,您可以访问“route_id”值以访问响应对象中的正确路由。

关于directions - 默认情况下,我们如何从Google Direction API获取从A点到B点的最短距离路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14594291/

相关文章:

android - Google Directions API 是否考虑流量?

google-maps - 在 Google map 中绘制折线

zooming - Google Maps Embed API 的方向 - 缩放以适合起点和目的地

javascript - 谷歌地图,在超过 8 个航点之间画线

json - Google Directions Api URL 返回 nil

javascript - 用于在 Google Maps v3 上创建多条路线的数组

ios - 使用 Mapkit 自定义方向

java - map 框安卓 : How to get directions from current location to a destination you choose?

google-maps - 在静态 map 中使用来自 Google Directions API 的编码折线的路径不正确

android - 标记来自 Google Maps Directions API 响应的高速公路