这是 Google 方面的持续问题,几天前在 Google 问题跟踪器中报告了该问题。你可以在这里找到它:
Locality/postal_code in Place Details does not align with Place Autocomplete description.
Google 正在对此进行调查,希望他们能尽快找到解决方案。我建议为该错误加注星标以添加您的投票并订阅来自 Google 的通知。
与此同时,我能想到的独特解决方法是使用来自自动完成预测的格式化字符串并使用地理编码 API 服务解决它,而不是使用地点 ID 获取地点详细信息。
例如你执行自动完成请求
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=642%20Great%20Western%20Hwy%20Girraween%20NSW%202145&key=YOUR_API_KEY
它在响应 JSON 中返回以下值:
"description":"642 Great Western Hwy, Girraween NSW 2145, Australia"
"place_id":"EjQ2NDIgR3JlYXQgV2VzdGVybiBId3ksIEdpcnJhd2VlbiBOU1cgMjE0NSwgQXVzdHJhbGlhIjESLwoUChIJ1Ww4O998EmsRmSCZE6S6OVMQggUqFAoSCdtIcBNscBJrESbra3OWkCBW"
如果您使用地点 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 工具中看到这一点:
https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D642%2520Great%2520Western%2520Hwy%2520Girraween%2520NSW%25202145
我希望这会有所帮助!