如何清除谷歌地图v2除了少数标记?

时间:2014-12-15 02:51:21

标签: android google-maps google-maps-markers google-polyline

假设我在地图上有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);

我不想清除这三个。我想要这个,所以用户不必经历眨眼。

1 个答案:

答案 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