微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这里 API - 使用邮政编码进行地理编码搜索不返回城市字段

如何解决这里 API - 使用邮政编码进行地理编码搜索不返回城市字段

我正在使用以下 HERE API 通过邮政编码搜索城市和州

https://geocode.search.hereapi.com/v1/geocode?qq=postalCode=43026&apiKey=key&in=countryCode%3AUSA,但它不是返回城市领域。 结果如下

{ "items": [ { "title": "43026,OH,United States","id": "here:cm:namedplace:22236211","resultType": "locality","localityType": "postalCode","address": { "label": "43026,"countryCode": "USA","countryName": "United States","stateCode": "OH","state": "Ohio","postalCode": "43026" },"position": { "lat": 39.9972,"lng": -83.15518 },"mapView": { "west": -83.0952,"south": 39.97889,"east": -83.26074,"north": 40.06921 },"scoring": { "queryscore": 1,"fieldscore": { "postalCode": 1 } } } ] }

谁能帮忙

解决方法

如果您针对此 API 运行多个查询,您会注意到有些结果包含城市,而有些则不包含。

例如:

如果我们运行(将 api 密钥设置为有效值): https://geocode.search.hereapi.com/v1/geocode?qq=postalCode=60606&apiKey=key&in=countryCode%3AUSA

我们得到一个这样的地址

"address": {
            "label": "60606,Chicago,IL,United States","countryCode": "USA","countryName": "United States","stateCode": "IL","state": "Illinois","county": "Cook","city": "Chicago","postalCode": "60606"
        }

其中包括城市值。

您的查询返回

"address": {
    "label": "43026,OH,"stateCode": "OH","state": "Ohio","postalCode": "43026"
},

缺少城市字段。

您可以尝试使用 API 文档中提到的 ZIP+4 代码(如果有): https://developer.here.com/documentation/geocoding-search-api/dev_guide/topics-api/code-geocode-hpc-hsn.html

例如, https://geocode.search.hereapi.com/v1/geocode?qq=postalCode=43026-0001&apiKey=key&in=countryCode%3AUSA

"address": {
    "label": "43026-0001,Hilliard,"county": "Franklin","city": "Hilliard","postalCode": "43026-0001"
},

会给我们一个城市。

注意:并非所有邮政编码+4 都会返回城市名称。例如:43026-0101 不会(这可能是因为它不存在)

在我看来,没有任何方法可以保证仅使用邮政编码就能得到城市现场响应。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。