6

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

Google 地方信息 API

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

谷歌反向地理编码

它只是将给定的 lat & lng 转换为地址。这实际上不符合我的要求。它不接受半径作为参数。 http://maps.googleapis.com/maps/api/geocode/json?latlng=6.914701,79.973085&sensor=false

有没有办法获得给定半径内的所有地址。特别居住地址。

4

2 回答 2

14

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

但是,由于您所在的地区在 OSM 中只有稀疏映射的门牌号,因此返回的内容不多。其他更好的地图区域会更好,但如果你愿意,你可以尝试改善你的区域

有关如何修改给定查询的更多信息,请查看常用标签Overpass API 语言指南

于 2013-09-11T20:20:55.530 回答
3

您可以蛮力使用谷歌地图 api,例如,您可以使用一个点间隔,例如在某个半径内每 8° 度,并评估来自谷歌地图地理编码 API 的 json 响应。但是由于良好的隐私原因,Google 地图地理编码 API 不支持与地点 API 相同的功能。在这里阅读一个类似的问题:特定旅行时间以下所有点的地图?.

于 2013-09-11T20:37:27.193 回答