我无法让谷歌的地理编码api识别地址:
Squaire 12
Am Flughafen
60549 Frankfurt am Main
德国
Squaire是法兰克福机场的一幢建筑物。它似乎没有正常的街道地址,但The Squaire的许多企业都有“The Squaire NUMBER”这样的地址。例如:
但无论我做什么,我都无法获得谷歌地理编码api认可的地址:
令人抓狂的是,当我在机场附近搜索“squaire”时,地方API会找到我正在寻找的地方:
匹配结果为: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中无效的地址。
当我使用带有place_id的反向地理编码api时:
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中使用:
答案 0 :(得分:4)
这是地理编码API中的一个问题:Issue 11031。
它已于1月下旬修复,因此Geocoding API将始终返回与Google地图相同的结果:
"formatted_address" : "Am Flughafen, The Squaire 12, 60549 Frankfurt am Main, Germany"
"formatted_address" : "The Squaire, 60549 Frankfurt am Main, Germany"
这实际上是Issue 11031如何修复的副作用,并且与原始编码API的原始行为背道而驰。 xomena的回答在他回答的时候是有效的,Google Maps API文档的官方建议确实是使用Places API文本搜索。这种情况持续时间较长,因为如果您重新阅读New Forward Geocoder FAQ,您会注意到。
答案 1 :(得分:1)
Google地理编码API服务不适用于商家信息。您应该使用Places API search服务而不是地理编码API来搜索商家。
您可以按照最佳做法文章中的建议,将Places API自动填充功能与Geocoding API结合使用。在这种情况下,您可以从自动填充中获取地点ID,并在地理编码API中使用它。
请查看地理编码最佳做法: https://developers.google.com/maps/documentation/geocoding/best-practices
希望它有所帮助!