我正在尝试编写一个Android应用程序,使用谷歌地图在地图上显示一些点(商店位置)。我在数据库服务器上有商店规格,包括LatLng,title等,并有一个rest api来访问它们。我的问题是商店的总量太多,所以我无法获得所有这些并在地图上显示它们,所以我需要进行某种延迟加载才能访问所需的商店。< / p>
我找到了this link,但它并不是懒人加载,我的理解是它首先得到所有项目并用标记显示它们,这不是我需要的。< / p>
有可能这样做吗?如果有,怎么样?如果有可能,请给我一些示例或教程。
提前感谢。
答案 0 :(得分:1)
为什么你不使用Google Maps Android Marker Clustering Utility?
我曾经在地图上加载12000个标记,对我来说没问题。我同时加载了所有这些标记。
要使用延迟加载,您可以确定可查看的地图区域并仅加载此标记。
您可以使用OnCameraChangeListener来确定它:
map.setOnCameraChangeListener(new OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition position) {
BOUNDS = map.getProjection().getVisibleRegion().latLngBounds;
Float mapZoom = map.getCameraPosition().zoom;
LatLng latlong = map.getCameraPosition().target;
updateItems(BOUNDS);
mapZoom = map.getCameraPosition().zoom;
}
});