我使用Google地图DistanceMatrixService()
获取GoogleMaps中2个点之间的方向和距离。但是,我从服务中获得的结果与GoogleMaps网站上显示的结果略有不同。DistanceMatrixService给出与Google地图不同的距离
当网站显示3公里时,我得到4公里。
我知道它可以在使用位置而不是实际地址时有所不同,但我在坐标和API中使用坐标,结果仍然不同。
这是我的代码:
//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);
上的服务请求3,1km和map gives a distance这些坐标是4,8公里。
我需要做些什么来获得实际距离?
编辑
虽然做了一些测试,我发现我可以通过将完整的地址,而不是坐标得到适当的距离。但这给了我两个问题:
- 1:通常我只能访问坐标,因为它很容易存储/获取信息(必须更改系统的某些核心代码才能获得完整地址);
- 2:当处理地址引用大地点的地方,例如地址很大的大学时,起点并不总是它应该是的地方。所以我一直得到错误的位置和错误的距离。
4.8公里,圆一个回合的路线,由于起源是上桥(它看起来像“坐标系”作为字符串的“错误”侧返回完全相同的结果)。你真的想要“开车”吗?步行距离会工作吗? – geocodezip