这里 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 不会(这可能是因为它不存在)

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...