获取可见区域的地址列表(谷歌地图v2)

时间:2017-06-08 09:34:05

标签: android google-maps geolocation

我们可以通过一个地点获取地址:

Observable<List<Address>> reverseGeocodeObservable = locationProvider
.getReverseGeocodeObservable(location.getLatitude(), location.getLongitude(), MAX_ADDRESSES);

reverseGeocodeObservable
.subscribeOn(Schedulers.io())               
.observeOn(AndroidSchedulers.mainThread())  
.subscribe(...);

获取LatLngBounds bounds = ThisApp.getGlobals().mMap.getProjection().getVisibleRegion().latLngBounds;地址的方法是什么?

如果您了解一些库,请写下这些名称。 感谢。

1 个答案:

答案 0 :(得分:0)

Google Maps API不支持在指定点的半径范围内发布地址。它提供有关地址可以具有的位置的信息。因此,唯一的方法是将所选区域划分为内切圆的半径等于100米的扇区。我实现了这样一种算法,如果在移动设备上运行,它将很长时间地执行一个区域(大约2周)。在服务器上它会非常快。但实质内容保持不变 - 对于一个领域,我们将获得 45亿点,根据该领域,我们需要从Google获取数据并且SQLite的文件在一个区域中具有大小= 1,5 Gb 。对于三个区域(整个地图),它将 45亿* 3 。你能想象这是多少吗?只需一键,Google就会发出最多1 50,000个请求的配额。一般来说,这是一个耗时的问题,最好不要优先考虑,而是寻找其他方式。