首页 文章

谷歌地理编码和地方apis都给出了一个lat长的错误结果

提问于
浏览
0

我目前正在构建一个基于位置的应用程序,该应用程序依赖于lat和long设备正确转换为文本位置 .

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


Places API

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

Geocode API

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

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


但是出于某种原因,当 same lat long 被输入谷歌 Map 本身时,它会产生位置 135 Queensberry St, Carlton VIC 3053

由于 routes API returning that same later address 导致两个服务之间不匹配,这对我来说是一个主要问题

我做错了什么,如果我不是,有没有办法绕过它?

请注意,第二个地址是我认为的那个"correct"

提前致谢 !

1 回答

  • 0

    执行reverse geocoding时,应使用 latlng 参数而不是 address 参数 . 所以查询

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

    返回几个项目 . 第一个是类型 Build 的 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

    此请求将返回预期结果 .

    我希望这有帮助!

相关问题