谷歌地图未通过纬度和经度显示确切的地址

时间:2018-03-08 05:51:41

标签: php google-maps

我知道这个问题之前已被多次询问过,但我的情况却截然不同。我的代码是用PHP编写的。我得到了正确的地址但不准确。例如,当我把Latitude = 24.8369和经度= 67.0334时,我得到地址=巴基斯坦卡拉奇的Frere Town。但它应该取得PSO总部,卡拉奇。

我能理解的原因是我的代码没有将地址缩放到其非常精确的位置。技术上,PSO总部,卡拉奇位于弗雷尔镇地区。所以,我的代码指向弗雷镇,但我需要它更详细和具体。它应该指向PSO总部。

请指导我正确的方向。谢谢

1 个答案:

答案 0 :(得分:0)

我理解你的意图是通过它的坐标找到生意。如果我理解正确,您正在使用反向地理编码服务。请注意,反向地理编码不是为了搜索商家而设计的,它旨在搜索最近的地址。执行请求时

https://maps.googleapis.com/maps/api/geocode/json?latlng=24.8369%2C67.0334&key=YOUR_API_KEY

您将返回最近的街道地址,如我的屏幕截图所示

enter image description here

您可以使用Geocoder工具自行检查:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D24.8369%252C67.0334

要搜索商家,您必须使用Places API附近的搜索。如果我在附近的地方搜索给定的位置并按距离对结果进行排名

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=24.8369%2C67.0334&rankby=distance&key=YOUR_API_KEY

回应的第一个结果是“巴基斯坦国家石油公司(PSO)总部办公室' (地址ID ChIJeaL2ccU9sz4ReG88iRu5rNI)

enter image description here

我希望这有帮助!