从谷歌地图中删除选定的标记

时间:2015-07-28 12:36:02

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

我使用onMarkerClickListener在谷歌地图上放置多个标记,现在我想让用户选择从添加的标记中删除任何标记。任何人都可以提出一些方法来做到这一点。

我的标记代码是

 GoogleMap.OnMarkerClickListener listener = new            
GoogleMap.OnMarkerClickListener() {

    @Override
    public boolean onMarkerClick(final Marker marker) {

        AddGeofenceFragment dFragment = new AddGeofenceFragment();
        // Show DialogFragment
        dFragment.show(fm, "Dialog Fragment");
        return true;
    }

};

newmap.setOnMarkerClickListener(listener);

newmap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {

    @Override
    public void onMapClick(LatLng latLng) {

        // Creating a marker
        MarkerOptions markerOptions = new MarkerOptions();

        // Setting the position for the marker
        markerOptions.position(latLng);

        // Setting the title for the marker.
        // This will be displayed on taping the marker
        markerOptions.title(latLng.latitude + " : " + latLng.longitude);


        // Animating to the touched position
        newmap.animateCamera(CameraUpdateFactory.newLatLng(latLng));

        // Placing a marker on the touched position
        newmap.addMarker(markerOptions);
        Log.d("ADDED LATITUDE",String.valueOf(latLng.latitude));
        Log.d("ADDED LONGITUDE",String.valueOf(latLng.longitude));

        Toast.makeText(getApplicationContext(),"Block area updated",Toast.LENGTH_LONG).show();



    }
});

1 个答案:

答案 0 :(得分:3)

您可以通过将接口OnMarkerClickListener实现到mapActivity来实现此目的。那么你需要编写你的需求代码来删除方法中的选定标记:

@Override
public boolean onMarkerClick(final Marker marker) {
    if (marker.equals(myMarker)) {
        //handle click here
        marker.remove();
    }
}