Google 地理编码 API 找不到地点 API 返回的地址

Google geocode API can't find address returned by the place API

我无法获取 google 的地理编码 api 来识别地址:

广场 12
我是 Flughafen
60549 美因河畔法兰克福
德国

The Squaire 是法兰克福机场的一座建筑。它似乎没有正常的街道地址,但 The Squaire 中的许多企业都有 "The Squaire NUMBER" 这样的地址。例如:

但无论我做什么,我都无法获得像 google 地理编码 api 识别的地址:

令人抓狂的是 API 在机场附近搜索 "squaire" 时找到了我要找的地方:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=XYZ&location=50.0509194,8.5684084&radius=1000&keyword=squaire

匹配结果有:place_id: ChIJY9ZMLL4KvUcRxZhQ3e-7ask。当我查询详细信息端点时:

https://maps.googleapis.com/maps/api/place/details/json?key=XYZ&placeid=ChIJY9ZMLL4KvUcRxZhQ3e-7ask

我得到 formatted_address: "THE Squaire 12, Am Flughafen, 60549 Frankfurt am Main, Germany",但这正是在地理编码中不起作用的地址 api。

当我使用反向地理编码 api 和 place_id:

https://maps.googleapis.com/maps/api/geocode/json?key=XYZ&place_id=ChIJY9ZMLL4KvUcRxZhQ3e-7ask

我得到 formatted_address: "plug and work Frankfurt, THE SQUAIRE Conference Center, THE Squaire 12, Am Flughafen, 60549 Frankfurt am Main, Germany"。这在前向地理编码中仍然不起作用 api:

https://maps.googleapis.com/maps/api/geocode/json?address=plug%20and%20work%20Frankfurt,%20THE%20SQUAIRE%20Conference%20Center,%20THE%20Squaire%2012,%20Am%20Flughafen,%2060549%20Frankfurt%20am%20Main,%20Germany

Google 地理编码 API 服务不适用于商家信息。您应该使用 Places API search 服务而不是地理编码 API 来搜索商家。

您可以按照最佳实践文章中的建议将地点 API 自动完成与地理编码 API 结合使用。在这种情况下,您可以从自动完成中获取地点 ID 并将其用于地理编码 API.

请查看地理编码最佳实践: https://developers.google.com/maps/documentation/geocoding/best-practices

希望对您有所帮助!

这是地理编码中的一个问题 API:Issue 11031

它已在 1 月下旬修复,因此地理编码 API 将始终 return 与 Google 相同 result/s 地图:

这实际上是 Issue 11031 修复的副作用,与地理编码 API 的原始行为背道而驰。 xomena 的回答在他回答时是有效的,Google 地图 API 文档的官方建议确实是使用 Places API 文本搜索。如果您重新阅读 New Forward Geocoder 常见问题解答.

,您会注意到这种情况更长