检索不同级别的 placeId

Retrieving different levels of placeIds

有什么方法可以从特定的placeId中获取不同级别的placeId吗?就像当你加载一个地方的地址组件时,你会得到 'country' 'city' 'region' 等等......但是你只会得到不同级别位置的名称。是否可以获取国家、城市的placeId....?

当我在数据库中存储数据时,我还需要将国家placeId,城市placeId与原始placeId一起存储。不想在数据库中存储地名,当很多地名相同时。

如您所见,地址组件数组中没有地点 ID。您无法仅执行地点详细信息请求来获取此信息。开发人员已经在 Google 问题跟踪器中创建了功能请求:

Add place_id in each address_components

您可以给它加注星标来投您的一票。同时,获取国家和地区的地点 ID 的解决方法包括执行 reverse geocoding 请求原始地点 ID 的坐标,结果类型为地区和国家。

例如,我有一个地点ID ChIJEygrJmSYpBIRUXOjvF0QSLw。此地点的详细信息请求

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

给出坐标41.3886875,2.130554。现在我可以执行额外的反向地理编码请求来获取地区和国家的地点 ID:

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.3886875%2C2.130554&result_type=country%7Clocality&key=MY_API_KEY

最后一个给我

  • 地点 ID ChIJ5TCOcRaYpBIRCmZHTz37sEQ(巴塞罗那)
  • 地点 ID ChIJi7xhMnjjQgwR7KNoB5Qs7KY(西班牙)

希望对您有所帮助!