首页 文章

查找给定半径内的地址

提问于
浏览
4

我需要找到给定半径内的所有地址 . 我已经实现了以下功能 .

Google Places API

这仅提供半径内的业务地址 . 它接受radius作为参数 . https://maps.googleapis.com/maps/api/place/textsearch/json?key=myAPIKey&location=6.914701,79.973085&radius=100&sensor=false&hl=en&query=*

Google reverse geocoding

它's just converting given lat & lng to addresses. This doesn'实际上符合我的要求 . 它不接受半径作为参数 . http://maps.googleapis.com/maps/api/geocode/json?latlng=6.914701,79.973085&sensor=false

有没有办法让所有地址在给定的半径范围内 . 特别居住的地址 .

2 回答

  • 1

    您是否考虑过使用OpenStreetMap来完成任务?在Overpass API的帮助下,您可以查询给定bounding box内的所有数据 . 例如,this query返回在您提到的区域内具有门牌号的所有地址 . 它仅在后台使用overpass turbo进行可视化和Overpass API,当然您也可以直接使用Overpass API将原始数据作为XML或JSON返回 .

    但是因为您的区域在OSM中只有稀疏地映射的门牌号码,所以还没有多少回报 . 其他更好的映射区域将更好地工作,但如果你愿意,你可以尝试improve your area .

    有关如何修改给定查询的更多信息,请查看commonly used tagsOverpass API language guide .

  • 9

    你可以强制谷歌 Map api,例如你可以使用一个点的间隔,例如在某个半径内每8°度一次,并评估来自谷歌 Map 地理编码API的json响应 . 但由于良好的隐私原因,Google Map 地理编码API不支持与地方API相同的功能 . 在这里阅读类似的问题:Map of all points below a certain time of travel? .

相关问题