如何在谷歌地图中通过地址识别城市?



我需要在使用"Google 自动完成"输入完整地址后获取城市名称的唯一标识符。

我通过谷歌API自动完成的地方进行搜索,如下所示:

武利察·捷列申基夫卡, 4А 基辅, 乌克兰

从从谷歌收到的数据中,我得到了城市,我需要将其写入数据库中的单独表中,以便按城市进一步过滤,但名称不是检查重复项的确切标识符。

是否可以为城市获取一些唯一值以写入数据库?

我试过了:

  • place_id:但他指着一个地方,而不是一个城市
  • plus_code:价值并不总是城市独有的,出于某种原因,谷歌并不总是放弃它

要从"Vulytsya Tereshchenkivsʹka, 4А Kyiv, Ukraine"等完整地址的 Places API 自动完成搜索结果中获取城市组件的唯一标识符(地点 ID(,目前您必须发出额外的请求才能获取该特定组件的地点 ID

如果您有坐标,则可以尝试对给定坐标 (50.444265,30.514581( 使用反向地理编码,并按locality类型进行过滤。您应该获得以下地址:

Address: Kyiv, Ukraine, 02000
Location: 50.4501,30.5234
Place ID: ChIJBUVa4U7P1EAR_kYBF9IxSXY

下面是一个示例请求:https://maps.googleapis.com/maps/api/geocode/json?latlng=50.444265,30.514581&result_type=locality&key=YOUR_API_KEY

最后,由于地点 API 搜索结果中的地址组件目前没有每个单独组件的地点 ID,因此 Google 公共问题跟踪器中有一个功能请求 - 在每个address_components中添加place_id: https://issuetracker.google.com/issues/35827596

我建议您为其加星标以接收更新。

希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新