反向地理编码:响应中城市与国家相同?

Reverse geocode: City same as country in response?

我在 reverse geocode API 中使用 HERE 地图,一位来自巴基斯坦的用户发送了一份报告,称国家 城市都在对于坐标对 31.522473692893982, 74.33312326669693,报告为 "Pakistan"。我仔细检查并发现了同样的错误;这是回应:

{"items":[{"title":"Pakistan, Pakistan","id":"here:cm:namedplace:22928320","resultType":"locality","localityType":"city","address":{"label":"Pakistan, Pakistan","countryCode":"PAK","countryName":"Pakistan","city":"Pakistan"},"position":{"lat":33.70964,"lng":73.07545},"distance":0,"mapView":{"west":60.87305,"south":23.7033,"east":77.13585,"north":37.07742}}]}

countryNamecity 都被报告为 "Pakistan" – 这与事实不符,并且让用户感到困惑。这也很难在我的应用程序中以编程方式处理 - city 如果不存在则应该为空白,我可以为此编写检查代码。

以上是世界第18大城市Lahore的坐标!我在使用坐标对 31.5204, 74.3587 时遇到同样的错误——Google 报告为拉合尔的 center。至少,HERE 没有理由不把这个大城市弄好,即使是在地方层面。

谢谢,

纳维德

这确实令人困惑。请尝试使用 Places API。对于您使用的坐标,它 returns 拉合尔。

GET https://places.ls.hereapi.com/places/v1/discover/search?
  at=31.522473692893982,74.33312326669693&
  q=31.522473692893982,74.33312326669693&
  apikey={{apiKey}}

结果

{
    "results": {
        "items": [
            {
                "position": [
                    31.522474,
                    74.333123
                ],
                "distance": 0,
                "title": "Lahore",
                "category": {
                    "id": "city-town-village",
                    "title": "City, Town or Village",
                    "href": "https://places.ls.hereapi.com/places/v1/categories/places/city-town-village?app_id=ZKnEmI4zhXnsDjVYNZLX&app_code=T-tTxarHYiInPeS4P52WdA",
                    "type": "urn:nlp-types:category",
                    "system": "places"
                },
                "icon": "https://download.vcdn.data.here.com/p/d/places2/icons/categories/35.icon",
                "vicinity": "Pakistan",
                "having": [],
                "type": "urn:nlp-types:place",
                "href": "https://places.ls.hereapi.com/places/v1/places/loc-dmVyc2lvbj0xO3RpdGxlPUxhaG9yZTtsYXQ9MzEuNTIyNDczNjkyODkzOTgyO2xvbj03NC4zMzMxMjMyNjY2OTY5MztjaXR5PUxhaG9yZTtjb3VudHJ5PVBBSztjb3VudHk9UGFraXN0YW47Y2F0ZWdvcnlJZD1jaXR5LXRvd24tdmlsbGFnZTtzb3VyY2VTeXN0ZW09aW50ZXJuYWw;context=Zmxvdy1pZD1hZWIzOGQxMS01NTUyLTUyNGEtOTNjYi01NDk1NjA1MzAzZWZfMTU5MTUyMjcxNDkwM18zNTU5Xzc4MTImcmFuaz0w?app_id=ZKnEmI4zhXnsDjVYNZLX&app_code=T-tTxarHYiInPeS4P52WdA",
                "id": "loc-dmVyc2lvbj0xO3RpdGxlPUxhaG9yZTtsYXQ9MzEuNTIyNDczNjkyODkzOTgyO2xvbj03NC4zMzMxMjMyNjY2OTY5MztjaXR5PUxhaG9yZTtjb3VudHJ5PVBBSztjb3VudHk9UGFraXN0YW47Y2F0ZWdvcnlJZD1jaXR5LXRvd24tdmlsbGFnZTtzb3VyY2VTeXN0ZW09aW50ZXJuYWw"
            }
        ]
    },
    "search": {
        "context": {
            "location": {
                "position": [
                    31.522474,
                    74.333123
                ],
                "address": {
                    "text": "Lahore<br/>Pakistan",
                    "city": "Lahore",
                    "county": "Pakistan",
                    "country": "Pakistan",
                    "countryCode": "PAK"
                }
            },
            "type": "urn:nlp-types:place",
            "href": "https://places.ls.hereapi.com/places/v1/places/loc-dmVyc2lvbj0xO3RpdGxlPUxhaG9yZTtsYXQ9MzEuNTIyNDczNjkyODkzOTgyO2xvbj03NC4zMzMxMjMyNjY2OTY5MztjaXR5PUxhaG9yZTtjb3VudHJ5PVBBSztjb3VudHk9UGFraXN0YW47Y2F0ZWdvcnlJZD1jaXR5LXRvd24tdmlsbGFnZTtzb3VyY2VTeXN0ZW09aW50ZXJuYWw;context=c2VhcmNoQ29udGV4dD0x?app_id=ZKnEmI4zhXnsDjVYNZLX&app_code=T-tTxarHYiInPeS4P52WdA"
        }
    }
}

对于巴基斯坦,HERE Reverse Geocoder V7 API 目前只能访问入口地图,这是一个内容占位符,而不是一张有价值的地图。计划到 2020 年增加巴基斯坦的地图覆盖范围。