如何清除v2谷歌地图中的所有标记?

时间:2013-06-19 17:12:47

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

我需要清除v2谷歌地图中的所有标记。并再次需要添加一些标记。如果有人知道答案,请分享你的想法。

6 个答案:

答案 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();

https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap#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()