본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] MapView Overlay onTab & multitouch zoom in&out conflict 해결법

by 돼지왕 왕돼지 2012. 10. 26.
반응형



MapView Overlay onTab & multitouch zoom in&out conflict 해결법

- MapView 를 사용할 때 일반 화면 터치와 Multi-touch zoom in & out 을 구분하는 것이 필요할 때가 있습니다. 예를 들어 MapView 에 터치를 하는 곳마다 marker 를 만들 일이 있는 경우 Zoom in & out gesture 를 하는 곳에도 marker 가 생기는 일이 발생하지요. 이럴 경우에는 다음과 같이 구현해주면 문제를 해결할 수 있습니다.

public class MyOverlay extends Overlay{
   private boolean mIsMultiTouched = false;

   @override
   public boolean onTouchEvent( MotionEvent e, MapView v ){
      if ( e.getPointerCount() != 1 ){
         mIsMultiTouched = true;
      }
      else if ( e.getAction() == MotionEvent.ACTION_DOWN ){
         mIsMultiTouched = false;
      }
      return super.onTouchEvent( e, v );
   }

   @Override
   protected boolean onTap( GeoPoint p, MapView mapView ){
      if ( !mIsMultiTouched ){
         // do sth...
      } 
      return super.onTap( p, mapView );
   }




도움이 되셨다면 손가락 꾸욱~ ( 로그인 필요 x )



반응형

댓글