我正在使用 HERE 的 Geocoder REST API 来获取给定自由格式或结构化地址的纬度/经度点。但是,我不是在处理美国地址,而是使用墨西哥或巴西地址。
在Geocoder API中,某些属性提到了“管理层次结构”,用于确定何时使用城市、地区、地区等。我的两个国家都不遵循我们在美国使用的典型城市/州层次结构
我想知道:有没有办法找到每个国家的官方“等级”?另外,如果您碰巧知道巴西或墨西哥的标准,请随时提示我。
我正在使用 HERE 的 Geocoder REST API 来获取给定自由格式或结构化地址的纬度/经度点。但是,我不是在处理美国地址,而是使用墨西哥或巴西地址。
在Geocoder API中,某些属性提到了“管理层次结构”,用于确定何时使用城市、地区、地区等。我的两个国家都不遵循我们在美国使用的典型城市/州层次结构
我想知道:有没有办法找到每个国家的官方“等级”?另外,如果您碰巧知道巴西或墨西哥的标准,请随时提示我。
这很棘手,因为没有针对地址的全球标准,并且结构化地址部分的映射(参见合格的输入示例)需要匹配,除非您使用&additionaldata=FlexibleAdminValues
参数调用模糊搜索。
依次考虑您的用例,可以使用自由格式输入获得最简单的请求和最广泛的结果集,如下所示:
从输出中可以看出,标签包含邮政地址(不一定包括所有层次结构信息),而State、County、City、District等包含结构化地址的部分(至少在HERE 在其数据库中的格式)。因此,您可以通过在查询中使用正确的城市或州来缩小查询范围。
<Address>
<Label>Sonora 12AV, Aculco, 09410 Iztapalapa, Distrito Federal, México</Label><Country>MEX</Country>
<State>Distrito Federal</State>
<County>Ciudad de México</County>
<City>Iztapalapa</City>
<District>Aculco</District>
<Street>Sonora</Street>
<HouseNumber>12AV</HouseNumber>
<PostalCode>09410</PostalCode>
<AdditionalData key="CountryName">México</AdditionalData>
<AdditionalData key="StateName">Distrito Federal</AdditionalData>
</Address>
由于您已经知道正确的国家/地区,您可以添加&country=Mexico
或&country=Brazil
将搜索限制在一个国家/地区(如果您不确定,请使用该countryfocus
参数将结果偏向该国家/地区。
如果知道城市或地区 等,则可以进行更严格的搜索:
由于提供了足够的信息,这仍然会找到一个结果。
因此,总而言之,您最好的选择是searchText
在每个国家/地区尝试一些自由格式的示例地址,并查看该国家/地区使用了哪些字段,然后再使用结构化地址来减少结果中的误报。
地理编码结果的XSD 架构也可能对您有用,尤其是MatchedAddressNamesType部分。