Google Maps API:place_id值的不同格式

时间:2016-09-11 20:47:07

标签: google-maps google-maps-api-3

我正在使用getQueryPredictions方法来获取自动填充条目。大约10%的返回位置中place_id的值是一个以“E”开头的40个字符长的字符串。我正在尝试将place_id传递给google.maps.DistanceMatrixService().getDistanceMatrix方法以获取这些地点与其他“正常”位置之间的距离,但Google不会为此类ID返回任何内容。

如果您在this form from Map API Documentation使用地址“4498 INTERSTATE NORTH PARKWAY EAST SOUTHEAST”,您可以轻松获得此类“E”place_id它将“EjM0NDk4IEludGVyc3RhdGUgTiBQa3d5IEUgU0UsIEF0bGFudGEsIEdBIDMwMzM5LCBVU0E”作为place_id返回。在任何其他Maps API方法中使用该ID,Google不会将其识别为有效的place_id。

如何使用这些奇怪的ID来查找距离?或者我如何将它们转换为普通place_ids

1 个答案:

答案 0 :(得分:1)

我创建了一个API密钥并使用了引用的place_id,它返回了一个有效的响应。

https://maps.googleapis.com/maps/api/place/details/json?placeid=EjM0NDk4IEludGVyc3RhdGUgTiBQa3d5IEUgU0UsIEF0bGFudGEsIEdBIDMwMzM5LCBVU0E&key=[API_KEY]

未指定,但not all Google Maps API可与place_id一起使用。

  

您可以在Google Places API和多个Google Maps API中使用相同的地点ID。例如,您可以使用相同的地点ID来引用Places API中的地点,Google Maps JavaScript API,Google Maps Geocoding API,Google Maps Embed API和Google Maps Roads API。

要使getDistanceMatrix生效,您的destinations[]应该是字符串,LatLngPlace个对象。您必须使用place_id获取地点详细信息(包含可用于LatLng的{​​{1}})。