我很惊讶自己是否做错了什么。当我在谷歌地图上找到两个位置之间的距离时,比如maps.google.co.uk,当我查询他们的API时,我会得到不同的结果。我是不是错过了什么?
出发地:英国伦敦骑士桥海德公园角车站目的地:英国伦敦丽兹酒店结果:1.2英里
当我使用api时:
http://maps.googleapis.com/maps/api/directions/json?origin=Hyde%20Park%20Corner%20Station,%20骑士桥,%20伦敦,%20英国;destination=The%20Ritz%20London,%20United%20Kingdom&区域=gb&传感器=错误&备选方案=真&单位=英制
结果:4.3英里或5.0英里等
为什么会有这么大的差异。我是不是错过了什么。
谷歌地图和类似方向(或地理编码)的服务之间存在显著差异
谷歌地图最初是谷歌位置的一个实现,这就是这里的问题。方向服务使用地理编码来解析地址,而谷歌地图使用PlacesService。
当您使用directionsRenderer绘制路线时,您会看到有不同的起点和终点位置。
但是,当您第一次请求PlacesService获取地点的坐标,并使用这些坐标请求directionsService时,您将获得接近谷歌地图结果的结果(持续时间可能不同,因为directionsService默认情况下不会根据当前流量返回结果)