Google地理编码和放置api均会在很长一段时间内返回错误结果

时间:2018-09-11 07:09:50

标签: android google-maps google-maps-api-3 android-location google-location-services

我目前正在构建一个基于位置的应用程序,该应用程序依赖于将经适当翻译成文本位置的设备的纬度和经度。

我当前的问题如下(以lat / long -37.8047079,144.9641467为例):


两者

Places API

https://maps.googleapis.com/maps/api/place/textsearch/json?query=-37.8047079,144.9641467&key

地理编码API

https://maps.googleapis.com/maps/api/geocode/json?address=-37.8047079,144.96414677&key

返回:“ 8-14 Little Queensberry St,Carlton VIC 3053,Australia”


但是,当在Google地图中键入相同经度长时,由于某种原因或其他原因,它会导致位置 135 Queensberry St,Carlton VIC 3053

由于 routes API返回相同的后继地址,这对我来说是一个主要问题

我在做错什么吗?如果我没有做错,有没有解决的办法?

请注意,第二个地址是我认为是“正确”的地址

谢谢!

1 个答案:

答案 0 :(得分:0)

执行reverse geocoding时,应使用latlng参数而不是address参数。因此查询

https://maps.googleapis.com/maps/api/geocode/json?latlng=-37.8047079%2C144.96414677&key=MY_API_KEY

返回几个项目。第一个是餐厅类型为Shop2/143 Queensberry St, Carlton VIC 3053的场所,第二个是street_address类型的135 Queensberry St, Carlton VIC 3053, Australia

您可以在Geocoder工具中看到以下结果:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D-37.804708%252C144.964147

餐厅似乎更接近您提供的坐标。但是,如果您打算找回街道地址,只需按街道地址类型过滤反向地理编码结果即可。

https://maps.googleapis.com/maps/api/geocode/json?latlng=-37.8047079%2C144.96414677&result_type=street_address&key=YOUR_API_KEY

此请求将返回预期结果。

我希望这会有所帮助!