首页 > 解决方案 > 为什么 Google 地图 API 结果不准确?

问题描述

我们使用高级计划进行谷歌地图 api查找,并在使用它时遇到准确性问题我进行以下操作。但这些只是例子,可能有很多

52241(应该是Coralville,拉爱荷华市)

43065(应该是鲍威尔,拉肖尼山)

11040(应该是新海德公园,拉花园城)。

我们使用以下 URL: https://maps.googleapis.com/maps/api/geocode/json?components=country:US|postal_code

标签: google-mapsgoogle-maps-api-3google-maps-api-2

解决方案


您在问题中提到的邮政编码与多个地区重叠。谷歌在地址组件中显示一个地方,可能是他们认为最突出的地方。

但是,在响应中,您可以看到邮政编码重叠的地区列表。只需查看postcode_localities响应中的字段。

例如,对于邮政编码 52241

https://maps.googleapis.com/maps/api/geocode/json?components=postal_code%3A52241%7Ccountry%3AUS&key=YOUR_API_KEY

你会看见

"place_id":"ChIJbaAjdYZD5IcRBfptU5KhMJk",
"postcode_localities":[
    "Coralville","Iowa City","Oakdale"
],
"types":[
    "postal_code"
]

对于邮政编码 43065

https://maps.googleapis.com/maps/api/geocode/json?components=postal_code%3A43065%7Ccountry%3AUS&key=YOUR_API_KEY

响应将包含

"place_id":"ChIJW2TudRTsOIgR8v0-4d19bNA",
"postcode_localities":[
    "Powell","Shawnee Hills"
],
"types":[
    "postal_code"
]

最后是邮政编码 11040

https://maps.googleapis.com/maps/api/geocode/json?components=postal_code%3A11040%7Ccountry%3AUS&key=YOUR_API_KEY

你会得到

"place_id":"ChIJ28UCx5hiwokRf_9UXmJHg5I",
"postcode_localities":[
    "GARDEN CITY P","Garden City Park","Hillside Manor","Manhasset Hills","New Hyde Park","North Hills","North New Hyde Park"
],
"types":[
    "postal_code"
]

请注意,您要查找的位置存在于postcode_localities数组中。

我希望这有帮助!


推荐阅读