0

我正在使用 HERE 的 Geocoder REST API 来获取给定自由格式或结构化地址的纬度/经度点。但是,我不是在处理美国地址,而是使用墨西哥或巴西地址。

Geocoder API中,某些属性提到了“管理层次结构”,用于确定何时使用城市、地区、地区等。我的两个国家都不遵循我们在美国使用的典型城市/州层次结构

我想知道:有没有办法找到每个国家的官方“等级”?另外,如果您碰巧知道巴西或墨西哥的标准,请随时提示我。

4

1 回答 1

1

这很棘手,因为没有针对地址的全球标准,并且结构化地址部分的映射(参见合格的输入示例)需要匹配,除非您使用&additionaldata=FlexibleAdminValues参数调用模糊搜索。

依次考虑您的用例,可以使用自由格式输入获得最简单的请求和最广泛的结果集,如下所示:

从输出中可以看出,标签包含邮政地址(不一定包括所有层次结构信息),而StateCountyCityDistrict等包含结构化地址的部分(至少在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部分。

于 2013-10-11T08:57:38.070 回答