在Google地理编码API中查找城市

时间:2018-04-03 13:10:46

标签: google-maps google-geocoding-api

我正在使用谷歌地理编码API按需存储数据库中的城市。我提供了一个输入字段供用户输入他们的城市。我使用谷歌搜索自动完成功能。

我想将输入字段中输入的城市及其国家/地区存储起来。使用输入字段中的with data调用Google地理编码API,以JSON格式返回数据。

我调查了address_components国家。然后我在address_components types = locality中获取了对象。问题是,对于输入字段中输入的某些位置,Google地理编码API中的JSON没有types = locality。因此,在这些情况下,我应该将address_components中的哪一个对象作为城市存储在我的数据库中 这个网站是谷歌地理编码api https://findcity.in/

的例子

需要建议。这个问题可能不清楚。所以我编辑了它。感谢

2 个答案:

答案 0 :(得分:2)

您说得对,locality类型并不总是出现在地址组件数组中。根据国家/地区甚至同一国家/地区的不同,可以在不同的地址组件中找到城市名称。这取决于使用Google的特定区域和地址模板的数据建模。不幸的是,每个国家都没有这方面的文件。

在官方文档中,您可以找到以下说明

  

此示例中特定地址组件的选择基于典型的地址格式。您可能需要选择不同的组件以与不同国家/地区的邮政地址格式保持一致。例如,代码选择 locality 组件,该组件通常代表地址的城市部分。但是,请注意以下组件可能有所不同的示例:

     
      
  • 在英国和瑞典,展示城市的正确组件是postal_town。

  •   
  • 在日本,不同地区的成分不同。

  •   
  • 布鲁克林和纽约市的其他地方不包括该城市作为地址的一部分。他们使用sublocality_level_1代替。

  •   

来源:https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform

我希望这有点帮助。

答案 1 :(得分:-1)

administrative_area_3表示国家级以下的三级民事实体。

这方面的一个示例是MontgomeryMontgomery County之前返回Montgomery, AL处于特定状态的搜索查询。部分原因是区域偏差会根据您当前的位置返回指定的结果。

Here is some documentation from Google这会超过GeocoderResult

我们建议您在直接提问之前先确保查看Google Maps API参考指南。它非常强大,你可以在那里找到很多有用的信息。