假设我在地图上有100个标记我想要的是当我应用GoogleMap.clear();
清除地图时它清除地图上的所有其他标记,除了2个标记和它们之间的1个折线是路径。
说
marker1 = GoogleMap .addMarker(new MarkerOptions().position(latLng1).title(A));
marker2 = GoogleMap .addMarker(new MarkerOptions().position(latLng2).title(B));
line = GoogleMap.addPolyline(options1);
我不想清除这三个。我想要这个,所以用户不必经历眨眼。
答案 0 :(得分:4)
除了某些事情之外,没有办法清除所有事情。但是,您可以保留对要清除和循环的任何标记的引用。
ArrayList<Marker> markersToClear = new ArrayList<Marker>();
marker1 = GoogleMap.addMarker(new MarkerOptions().position(latLng1).title(A));
marker2 = GoogleMap.addMarker(new MarkerOptions().position(latLng2).title(B));
marker3 = GoogleMap.addMarker(new MarkerOptions().position(latLng3).title(C));
markersToClear.add(marker2);
markersToClear.add(marker3);
for (Marker marker : markersToClear) {
marker.remove();
}
markersToClear.clear();
// marker1 left on map