我输入了我知道存在于google api自动完成中的地址:
642新南威尔士州2145大西部公路峡谷之间
-自动完成功能可以识别它,但是...
我得到的结果不正确:
642 Great Western Hwy,澳大利亚新南威尔士州2776,福克布里奇
对于其他类似地址,
有解决方法吗?
我研究了Autocomplete.getPlaces()
而且似乎找不到解决方法。
-我什至研究了AutocompleteServices对象(其中自动完成功能提供了正确的预测-但不在官方的 address_components 中。)
有什么建议吗?
答案 0 :(得分:2)
这是Google方面的持续性问题,几天前已在Google问题跟踪器中报告。您可以在这里找到它:
Locality/postal_code in Place Details does not align with Place Autocomplete description.
Google正在研究它,希望他们能尽快找到解决方案。我建议给该错误加注星标,以添加您的投票并订阅来自Google的通知。
同时,我能想到的独特解决方法是使用自动完成预测中的格式化字符串,并使用Geocoding API服务来解决它,而不是使用位置ID来获取位置详细信息。
例如,您执行自动完成请求
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=642%20Great%20Western%20Hwy%20Girraween%20NSW%202145&key=YOUR_API_KEY
它在响应JSON中返回以下值:
“描述”:“ 642 Great Western Hwy,Girraween NSW 2145,澳大利亚” “ place_id”:“ EjQ2NDIgR3JlYXQgV2VzdGVybiBId3ksIEdpcnJhd2VlbiBOU1cgMjE0NSwgQXVzdHJhbGlhIjESLwoUChIJ1Ww4J998BfCWtCSCtSc> B
如果您使用地点ID来获取详细信息,它将解析为错误的地址
https://maps.googleapis.com/maps/api/place/details/json?placeid=EjQ2NDIgR3JlYXQgV2VzdGVybiBId3ksIEdpcnJhd2VlbiBOU1cgMjE0NSwgQXVzdHJhbGlhIjESLwoUChIJ1Ww4O998EmsRmSCZE6S6OVMQggUqFAoSCdtIcBNscBJrESbra3OWkCBW&key=YOUR_API_KEY
但是,如果对描述中的文本使用地理编码,则会得到正确的地址:
https://maps.googleapis.com/maps/api/geocode/json?address=642%20Great%20Western%20Hwy%20Girraween%20NSW%202145&key=YOUR_API_KEY
您还可以在Geocoder工具中看到此内容:
我希望这会有所帮助!