我正在尝试编写一个使用谷歌地图在地图上显示一些点(商店地点)的 android 应用程序。我在数据库服务器上有商店规范,包括 LatLng、标题等,并有一个休息 api 来访问它们。我的问题是商店的总数太多,所以我无法将它们全部显示在地图上,所以我需要进行某种延迟加载显示才能访问所需的商店。
我找到了这个链接,但它不是延迟加载,我的理解是它首先获取所有项目并用标记显示它们,这不是我真正需要的。
是否有可能做到这一点?如果是的话怎么办?如果可能的话,请给我一些例子或教程。
提前致谢。
我正在尝试编写一个使用谷歌地图在地图上显示一些点(商店地点)的 android 应用程序。我在数据库服务器上有商店规范,包括 LatLng、标题等,并有一个休息 api 来访问它们。我的问题是商店的总数太多,所以我无法将它们全部显示在地图上,所以我需要进行某种延迟加载显示才能访问所需的商店。
我找到了这个链接,但它不是延迟加载,我的理解是它首先获取所有项目并用标记显示它们,这不是我真正需要的。
是否有可能做到这一点?如果是的话怎么办?如果可能的话,请给我一些例子或教程。
提前致谢。
为什么不使用 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;
}
});