我正在使用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
?
答案 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[]
应该是字符串,LatLng
或Place
个对象。您必须使用place_id
获取地点详细信息(包含可用于LatLng
的{{1}})。