gpt4 book ai didi

javascript - Google Geocoding -- 解析可能返回不同的 address_components

转载 作者:可可西里 更新时间:2023-11-01 02:58:22 25 4
gpt4 key购买 nike

我正在使用 Google Maps V3 api。我正在提交地址搜索以返回正确的地理编码结果,包括地址、机构名称和纬度/经度。

我的问题是地理编码器的响应可以采用不同的格式。它始终遵循相同的结构,但某些响应对 address_components 数据结构使用不同的键。

例如,某些搜索结果:

establishment               -> location name
street_number -> address street number
route -> the street name
locality -> the city
administrative_area_level_1 -> the state
postal_code -> zip/postal code

然而,如果我要搜索一般区域,例如“新罕布什尔州汉普顿海滩”,我会收到:

sublocality                 -> beach name / area
administrative_area_level_3 -> city/town name
administrative_area_level_1 -> the state
postal_code -> zip/postal code

如您所见,这两个响应有其不同之处。是否有已知的 jquery 库可用于处理这些不同的响应以返回可用于人类可读方式的地址组件的数据集?

我会注意到响应还返回一个“formatted_address”类型,其返回形式如下:“Hampton Beach, NH 03842, USA”或“Boston University, 1 University Rd, Boston, MA 02215-1407, USA”作为你可以看到,这些也很不一样。我可以用逗号分隔,但我想使用实际的 address_components 进行完美的数据库插入。

最佳答案

为什么您的数据库镜像不只包含以下键?

street_number                    -> address street number
route -> the street name
locality -> the city/town
administrative_area_level_3 -> the city/town
administrative_area_level_1 -> the state
postal_code -> zip/postal code

如果存在 locality,请在您的请求中使用它(因为它似乎提供了更详细的信息 - http://code.google.com/apis/maps/documentation/geocoding/#JSON)

如果不存在街道名称地点,则请求administrative_area_level_3administrative_area_level_1

当信息存在时,这将为您提供一个完整的人类可读的邮政地址,或者如您在其中一条评论中提到的那样,仅提供次级地区(例如海滩)的城市/州。

**我假设您只关心美国。

关于javascript - Google Geocoding -- 解析可能返回不同的 address_components,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6312436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com