I new in Android. I try to find info about how to disable to move camera on Google Maps and change it destiny. For example when the marker will be displayed I couldn't move camera, and my move gestures will for example change to other options. Is there any solution?
Asked
Active
Viewed 186 times
1 Answers
1
You can:
1) disable all gestures like in answers for this question of Vincent:
mMap.getUiSettings().setAllGesturesEnabled(false);
2) create touchable wrapper for MapFragment
like in this community wiki answer:
public class TouchableWrapper extends FrameLayout { public TouchableWrapper(Context context) { super(context); } @Override public boolean dispatchTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: MainActivity.mMapIsTouched = true; break; case MotionEvent.ACTION_UP: MainActivity.mMapIsTouched = false; break; // ... and so on for all of the gestures your need } return super.dispatchTouchEvent(event); } }
For example, here you can find example for "two finger scrolling gesture" touchable wrapper:
public class TouchableWrapper extends FrameLayout { private LockableScrollView mLockableScroll; private GoogleMap mGoogleMap; public TouchableWrapper(Context context) { super(context); } public void setGoogleMapAndScroll(GoogleMap googleMap, LockableScrollView lockableScroll) { mGoogleMap = googleMap; mLockableScroll = lockableScroll; } @Override public boolean dispatchTouchEvent(MotionEvent event) { switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: mGoogleMap.getUiSettings().setScrollGesturesEnabled(false); // UPDATE: add below line to disable zoom gesture mGoogleMap.getUiSettings().setZoomGesturesEnabled(false); mLockableScroll.setScrollingEnabled(true); break; case MotionEvent.ACTION_POINTER_DOWN: mLockableScroll.setScrollingEnabled(false); mGoogleMap.getUiSettings().setScrollGesturesEnabled(true); // UPDATE: add below line to enable zoom gesture mGoogleMap.getUiSettings().setZoomGesturesEnabled(true); break; case MotionEvent.ACTION_POINTER_UP: // UPDATE: add below line to disable zoom gesture mGoogleMap.getUiSettings().setZoomGesturesEnabled(false); mGoogleMap.getUiSettings().setScrollGesturesEnabled(false); mLockableScroll.setScrollingEnabled(true); break; case MotionEvent.ACTION_UP: // UPDATE: add below line to disable zoom gesture mGoogleMap.getUiSettings().setZoomGesturesEnabled(false); mGoogleMap.getUiSettings().setScrollGesturesEnabled(false); mLockableScroll.setScrollingEnabled(true); break; } return super.dispatchTouchEvent(event); } }

Andrii Omelchenko
- 13,183
- 12
- 43
- 79