php - 在给定半径内查找地址

标签 php google-maps google-places-api reverse-geocoding

我需要找到给定半径内的所有地址。我已经实现了以下操作来完成这项工作。

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 tagsOverpass API language guide .

关于php - 在给定半径内查找地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18690702/

相关文章:

php - 让脚本等待生成稀疏文件

php - 将 JSON 值分配给来自 Google Maps API 查询的 PHP 数组

php - 无法从 PDO 数组获取值

javascript - 附近地点 Google map Places API

javascript - Google Place API - 请求的资源上不存在 'Access-Control-Allow-Origin' header 。因此不允许访问 Origin 'null'

PHP 三元语句使用 'and'

android - 在更新位置之前从 Google map 中删除特定标记

javascript - 使用自定义响应在谷歌地图上绘制路线

javascript - 未安装 GEarth 插件时将 GMaps API v3 与 GEarth 插件结合使用

android - com.google.android.gms.location.LocationListener 在我的 Activity 中不起作用