3

根据文档,我们以以下方式(服务器 API)检索一组起点和终点之间的距离。

https://maps.googleapis.com/maps/api/distancematrix/json?origins=Washington%20DC&destinations=New%20York&mode=walking&key=

与其传递地名,不如传递 place_id 作为起点或终点。这将给出更准确的结果。可能吗 ?

例如。是否可以执行如下 API 调用:

https://maps.googleapis.com/maps/api/distancematrix/json?origins=<place_id>&destinations=<place_id>&mode=walking&key=

???

谢谢

4

2 回答 2

6

没有办法让谷歌在谷歌地图方向 API 中使用 place_id 作为起点或目的地。

因此,您这样做的唯一方法是首先从 place_id 获取 lat/lng 或地址。你可以这样做:
1)反向地理编码:https ://developers.google.com/maps/documentation/geocoding/

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJ2eUgeAK6j4ARbn5u_wAGqWA&key=MYKEY

2) 地点详情:https ://developers.google.com/places/webservice/details

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJ2eUgeAK6j4ARbn5u_wAGqWA&key=MYKEY

更新

现在,您可以在距离矩阵 API 中应用地点 ID 作为起点和终点。

如果您提供地点 ID,则必须在其前面加上 place_id:。如果请求包含 API 密钥或 Google Maps API 高级计划客户端 ID,您只能指定地点 ID。

有关详细信息,请参阅文档:

https://developers.google.com/maps/documentation/distance-matrix/intro#RequestParameters

于 2015-07-07T17:53:04.150 回答
3

您可以使用origin=place_id:<place id>代替origin="<address>"更多信息请参考链接

于 2017-01-14T05:34:07.447 回答