【发布时间】:2016-11-14 14:12:41
【问题描述】:
我正在使用 Google Maps DistanceMatrixService() 来获取 GoogleMaps 中两点之间的方向和距离。但是,我从该服务获得的结果与 GoogleMaps 网站上显示的结果略有不同。
当网站显示 3 公里时,我将获得 4 公里。
我知道使用 Places 而不是实际地址时可能会有所不同,但我在 api 和 website 中都使用了坐标,结果仍然不同。
这是我的代码:
//Just for example
var origin = '-27.5970141,-48.5614466';
var destination = '-27.5927353,-48.5556316';
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: [origin],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC
}, callback);
map gives a distance 上的这些坐标为 3.1 公里,而服务请求上的坐标为 4.8 公里。
我需要做什么才能得到实际距离?
编辑
在进行一些测试时,我注意到我可以通过传递完整地址而不是坐标来获得正确的距离。但这给了我两个问题:
- 1:通常我只能访问坐标,因为它很容易存储/获取信息(必须更改系统的一些核心代码才能获取完整地址);
- 2:在处理地址引用较大位置的地方时,例如,地址很大的大学,起点并不总是应该在的地方。所以我不断地得到错误的位置和距离。
【问题讨论】:
-
4.8 公里是一条绕道路线,因为原点位于桥的“错误”一侧(它看起来确实像“坐标”,因为字符串返回完全相同的结果)。你真的想要“驾驶”距离吗?步行距离有用吗?
标签: javascript google-maps google-distancematrix-api