获取可见区域的地址列表(google 地图 v2)
Get list of addresses for visible area (google maps v2)
我们可以通过一个位置获取地址:
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;
地址的方法是什么?
如果你知道一些库,请写下那些名字。
谢谢
Google地图API不支持指定点半径内的地址下发。它提供有关地址可以包含的地点的信息。因此,唯一的办法就是将所选区域划分为内切圆半径为100米的扇区。我实现了这样一个算法,如果 运行 在移动设备上,它将在一个区域(大约 2 周)执行很长时间。在服务器上它会非常快。但本质保持不变——对于一个区域,我们将获得 45 亿点,据此我们需要从 Google 获取数据,而 SQLite 的一个区域文件有一个 大小 = 1,5 Gb。对于三个区域(整个地图),它将是 45 亿 * 3。你能想象这是多少吗? Google 一键发出最多 150,000 个请求 的配额。总的来说,这是一个比较耗时的问题,最好不要放在首位,而是另寻他法。
我们可以通过一个位置获取地址:
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;
地址的方法是什么?
如果你知道一些库,请写下那些名字。 谢谢
Google地图API不支持指定点半径内的地址下发。它提供有关地址可以包含的地点的信息。因此,唯一的办法就是将所选区域划分为内切圆半径为100米的扇区。我实现了这样一个算法,如果 运行 在移动设备上,它将在一个区域(大约 2 周)执行很长时间。在服务器上它会非常快。但本质保持不变——对于一个区域,我们将获得 45 亿点,据此我们需要从 Google 获取数据,而 SQLite 的一个区域文件有一个 大小 = 1,5 Gb。对于三个区域(整个地图),它将是 45 亿 * 3。你能想象这是多少吗? Google 一键发出最多 150,000 个请求 的配额。总的来说,这是一个比较耗时的问题,最好不要放在首位,而是另寻他法。