8

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

4

6 回答 6

22

您可以使用googleMap.clear(),也可以将标记存储在某种集合中并在循环中删除它们:

private ArrayList<Marker> mMarkers;
...
private void removeMarkers() {
    for (Marker marker: mMarkers) {
        marker.remove();
    }
    mMarkers.clear();
}
于 2013-06-19T17:17:20.197 回答
3

前 - 如果您想刷新并在地图中加载新的标记点以单击按钮(在此前我得到按钮单击),

    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))

}
于 2014-06-30T04:49:19.573 回答
2

使用 Google Map 对象并调用 clear 清除标记。

mMap.clear();

https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap#clear()

检查文档

public final void clear ()

从地图中删除 allmarkers, polylines, polygons, overlays等。

于 2013-06-19T18:28:25.927 回答
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()任何地方使用该方法。

于 2016-10-20T11:19:19.120 回答
0

我认为对你会有帮助。当您需要通过清除 Google Map 和 List 变量的对象来替换标记时,获取列表中的所有标记并刷新地图视图。

于 2013-06-19T17:27:46.950 回答
0

你可以在 java 和 kotlin 中使用 clear()

爪哇

 googleMap.clear()

科特林

 googleMap?.clear()
于 2018-09-22T13:36:29.573 回答