我需要找到给定半径内的所有地址。我已经实现了以下操作来完成这项工作。
Google Places API
这只提供半径范围内的商业地址。它接受半径作为参数。 https://maps.googleapis.com/maps/api/place/textsearch/json?key=myAPIKey&location=6.914701,79.973085&radius=100&sensor=false&hl=en&query=*
Google 反向地理编码
它只是将给定的经纬度转换为地址。这实际上不符合我的要求。它不接受半径作为参数。 http://maps.googleapis.com/maps/api/geocode/json?latlng=6.914701,79.973085&sensor=false
有没有办法获取给定半径内的所有地址。特别居住地址。
最佳答案
您是否考虑过使用 OpenStreetMap为了你的任务?在 Overpass API 的帮助下您可以查询给定 bounding box 内的所有数据.例如this query返回在您提到的区域内具有门牌号的所有地址。它使用 overpass turbo仅在后台用于可视化和 Overpass API,但当然您也可以直接使用 Overpass API 以 XML 或 JSON 形式返回原始数据。
但是,由于您的区域在 OSM 中只有稀疏映射的门牌号,因此还没有太多可返回的内容。其他更好的 map 区域会更好,但您可以尝试 improve your area如果你愿意的话。
有关如何修改给定查询的更多信息,请查看 commonly used tags和 Overpass API language guide .
关于php - 在给定半径内查找地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18690702/