我是新来的,所以欢迎任何反馈.我正在尝试使用DefaultClusterRenderer来显示一些自定义群集,并且我试图在地图完全放大时不让它聚集.所以我找到了完全相同问题的答案: 在最大缩放级别禁用聚类与谷歌android-maps-utils 所以我尝试了该代码,但我得到一个不在主线程错误.任何帮助将不胜感激.我在我的构造函数中有这个
public EspecieRenderer(Context context, GoogleMap map, ClusterManager<T> clusterManager) {
super(context, map, clusterManager);
this.mMap = map;
...
}
Run Code Online (Sandbox Code Playgroud)
然后我在做
@Override
protected boolean shouldRenderAsCluster(Cluster<T> cluster) {
final float currentZoom = mMap.getCameraPosition().zoom;
final float currentMaxZoom = mMap.getMaxZoomLevel();
return currentZoom < currentMaxZoom && cluster.getSize() >= 10;
}
Run Code Online (Sandbox Code Playgroud)
这是我正在初始化集群的方式.我正在使用线程,因为我有近200种物种需要加载,每个物种都有一个或多个标记要添加到地图中
private void setUpClusterer() {
clusterManager = new ClusterManager<>(this, googleMap);
clusterManager.setRenderer(new EspecieRenderer<>(this, googleMap, clusterManager));
googleMap.setOnCameraChangeListener(clusterManager);
googleMap.setOnMarkerClickListener(clusterManager);
ArrayList<Especie> especies = (ArrayList<Especie>) Especie.list(this);
for (Especie especie : especies) {
ExecutorService queue = Executors.newSingleThreadExecutor();
queue.execute(new EspecieLoader(this, …Run Code Online (Sandbox Code Playgroud)