diff --git a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java index 8aedec5..3960a9e 100644 --- a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java +++ b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; /** * 整体设计采用了两个线程,一个线程用于计算组织聚合数据,一个线程负责处理Marker相关操作 @@ -38,7 +39,7 @@ private final int clusterSize; private ClusterOnClickListener clusterClickListener; private ClusterRender clusterRender; - private final List addMarkers = new ArrayList<>(); + private final CopyOnWriteArrayList addMarkers = new CopyOnWriteArrayList<>(); private double clusterDistance; private final LruCache lruCache; private final HandlerThread markerHandlerThread = new HandlerThread("addMarker"); @@ -112,7 +113,6 @@ markerHandlerThread.quit(); for (Marker marker : addMarkers) { marker.remove(); - } addMarkers.clear(); lruCache.evictAll(); diff --git a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java index 8aedec5..3960a9e 100644 --- a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java +++ b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java @@ -26,6 +26,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; /** * 整体设计采用了两个线程,一个线程用于计算组织聚合数据,一个线程负责处理Marker相关操作 @@ -38,7 +39,7 @@ private final int clusterSize; private ClusterOnClickListener clusterClickListener; private ClusterRender clusterRender; - private final List addMarkers = new ArrayList<>(); + private final CopyOnWriteArrayList addMarkers = new CopyOnWriteArrayList<>(); private double clusterDistance; private final LruCache lruCache; private final HandlerThread markerHandlerThread = new HandlerThread("addMarker"); @@ -112,7 +113,6 @@ markerHandlerThread.quit(); for (Marker marker : addMarkers) { marker.remove(); - } addMarkers.clear(); lruCache.evictAll(); diff --git a/app/src/main/java/com/casic/detector/view/MainActivity.kt b/app/src/main/java/com/casic/detector/view/MainActivity.kt index 7d6b5c0..d590626 100644 --- a/app/src/main/java/com/casic/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/detector/view/MainActivity.kt @@ -319,6 +319,7 @@ uiSettings.isScaleControlsEnabled = true uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度 + uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜 //显示定位小蓝点 val locationStyle = MyLocationStyle() locationStyle.interval(2000)