我遇到了Google Geocoding API的一个奇怪问题。我目前正在使用它来查找卢森堡地址的经纬度。我意外地发现,即使我的API请求中包含邮政编码和国家/地区错误,我仍然可以找回正确的位置和格式的地址。Google地理编码API错误?
例如
https://maps.googleapis.com/maps/api/geocode/json?address=1+route+d%27Arlon%2C8399+Windhof%2CLuxembourg&key={Your-API-Key}&language=fr
这是正确的找到命中,符合市场预期。然而,
https://maps.googleapis.com/maps/api/geocode/json?address=1+route+d%27Arlon%2C83992+Windhof%2CGermany&key={Your-API-Key}&language=fr
也发现一个打击,尽管返回一个partial_match = true
。
要理解这个问题,而不必滚动&读取代码 - API返回,即使您为国家,邮政编码等
这可怎么什么错细节“正确”的地址除了我无法想象的错误之外。然而,最初,我只是假设我会检查这样的问题,要求用户检查提供的地址,如果partial_match
被发现存在。
但是,只是检查这会抛出误报。就拿URL
https://maps.googleapis.com/maps/api/geocode/json?address=2+route+d%27Arlon%2C8552+Oberpallen%2CLuxembourg&key={Your-API-Key}&language=fr
回报2 Route d'Arlon, 8552 Oberpallen, Luxembourg
其中 - 据我可以告诉 - 因为我提供的,但恰恰是同一个地址的地址解析API STILL回报partial_match
。
很明显,有更多的partial_match
比立即见面。我当然可以开始对返回的结果进行更严格的检查,而不仅仅依靠partial_match
。不过,我希望有人在这里也许能在两个问题上阐明这里
- 为什么说我上面的第三个例子返回
partial_match
当一切显然OK? - 当我故意提供错误的国家和邮政编码时,为什么API返回错误状态以外的任何内容?