我需要清除v2谷歌地图中的所有标记。并再次需要添加一些标记。如果有人知道答案,请分享你的想法。
答案 0 :(得分:22)
您可以使用googleMap.clear()
,也可以将标记存储在某种集合中并将其删除:
private ArrayList<Marker> mMarkers;
...
private void removeMarkers() {
for (Marker marker: mMarkers) {
marker.remove();
}
mMarkers.clear();
}
答案 1 :(得分:3)
ex - 如果你想在地图中刷新并加载新的标记点以便点击按钮(在这个ex i get按钮点击中),
switch ( view.getId() ) {
case R.id.buttonOne:
//clear googlemap
googleMap.clear();
//call to generate new marker
this.getMarker(lat,lang);
break;
}
//to add new marker
public void getMarker ( String lat,String lang ) {
LatLng latLang = new LatLng( lat, lang);
//call to your googlemap implementation method
this.getGoogleMap();
Marker marker = googleMap.addMarker(new MarkerOptions().position(latLang))
}
答案 2 :(得分:2)
使用Google地图对象并调用清除以清除标记。
mMap.clear();
检查文档
public final void clear ()
从地图中删除所有markers, polylines, polygons, overlays
等。
答案 3 :(得分:1)
只需创建clearOverlays()
并在方法内
public void clearOverlays(){
if(mMap!=null){
mMap.clear();
}else{
Log.d("Maps::","mMap is null");
}
}
其中mMap是
public static GoogleMap mMap;
mMap
将在内部自动初始化
public void onMapReady(GoogleMap googleMap)
方法。
放mMap = googleMap;
现在可以在任何地方使用clearOverlays()
方法。
答案 4 :(得分:0)
我认为this会对您有所帮助。获取列表中的所有标记,并在需要通过清除Google Map和List变量的对象来替换标记时刷新地图视图。
答案 5 :(得分:0)
您可以在Java和Kotlin中使用clear()
java
googleMap.clear()
kotlin
googleMap?.clear()