Directions API与Google地图相比返回不同的方向

问题描述 投票:0回答:1

我正在使用Google Directions API查找起点和终点之间的路线,在这种情况下,起点是酒店,终点是地铁站。

我获取路线的代码是

var request = {
    origin: start,
    destination: end,
    travelMode: 'DRIVING'
};
directionsService.route(request, function (result, status) {
    if (status == 'OK') {
        directionsDisplay.setDirections(result);
    }
});

[获得方向后,地图显示不包括步行的方向,并且仅通过“驾驶”模式向用户显示方向,如here

A sample application提供当前情况的概念...。

但是,在Google地图中从相同的起点到目的地的路线显示的是一条较短且不同的路线,该路线会尽可能多地使用行车路线并进行一些额外的步行,以使路线更短,如here

[如果有人能帮助我弄清楚如何通过多种行驶模式实现从A点到B点的方向,那将是很棒的,对于我的情况是“驾驶”和“步行”模式来获得更短的路线。

谢谢

javascript google-maps google-distancematrix-api google-direction
1个回答
0
投票

我检查了您提供的demo,发现您正在使用LatLng作为origindestination参数的值。当目标位于25.1866073,55.2803321时,您用于origin参数的LatLng值为25.2013981,55.2694649。如果我们使用与Google地图相同的坐标,您会注意到您会获得same result

您可能会在上面提供的链接上看到,正在使用的目标坐标会解析为The Private Office, Dubai。这可能就是为什么您要获得不同的路线集的原因。

要获得与Google Map结果相同的所需路线,您可以将不同的坐标集用作目标参数的值,例如25.201270、55.269799,也可以选择将String值用于原点和请求的目标参数。这是一个示例fiddle

我希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.