如何在google maps v2中禁用setOnMapClickListener?

时间:2014-11-26 18:23:51

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

我有一个操作栏图标(加号图标)点击我已启用(称为)setOnMapClickListener,我在其中根据地图上的点击在地图上创建标记。

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    if(item.getItemId() == R.id.action_addItem) {

        invalidateOptionsMenu();



            mMap.setOnMapClickListener(new OnMapClickListener() {

                @Override
                public void onMapClick(LatLng point) {

                if(canAddMarker){

                    mMap.animateCamera(CameraUpdateFactory.newLatLng(point));

                    mMap.addMarker(new MarkerOptions().position(point).title("Test Title").snippet("Test snippet"));


                }


                }
            });

    else {

               //Code to disable listener
    }

    }

问题是,一旦我点击操作栏上的任何其他图标,我希望监听器停止/禁用,以便在地图上再触摸不会导致创建新标记。

有关如何禁用侦听器的任何想法?

1 个答案:

答案 0 :(得分:1)

要禁用侦听器,只需将其设置为null,因为只有在它不为空时才会调用它。

mMap.setOnMapClickListener(null);