2014-04-30 3 views
3

좋은 아침 여러분,안드로이드 추가 제스처 감지

나는 openstreet지도의 오프라인지도를 렌더링 할뿐만 아니라 오프라인 라우팅을 사용하는 Nutiteq SDK를 사용하고 있습니다.

장치가 GPS 신호를 받으면지도의 중심점이 방향 및 위치 관리자가 반환하는 위치로 이동합니다. 내가 말하는 Activtiy에는 사용자의 위치가 변경 될 때 항상 호출되는 onLocationChanged() 메서드가 있습니다.

지금까지 좋은 점은이 시점에서 Google지도와 매우 유사한 기능을 구현하려고합니다. 사용자가 제스처로지도를 이동하면 onLocationChanged() 메서드의 일부가 비활성화됩니다. 따라서지도 중심점은 더 이상 업데이트되지 않습니다. 사용자가지도상의 다른 곳을보고 싶어하기 때문입니다. buttong을 누르기 만하면, Google에서처럼 라우팅이 계속됩니다. 그들이에서 함수 onTouchEvent()를 오버라이드 (override) 나에게 말했다 Nutiteq SDK를 개발 한 사람에게 이야기 한 후 http://mrbool.com/how-to-work-with-swipe-gestures-in-android/28088

:

내 문제는 내가 이런 내와 관련된 activty이 같은 동작을 정의 할 수 있다는 것입니다 새로운 맞춤형 mapView 클래스. 글쎄,이 작품은 작동하지만,지도를 스크롤하는 것과 같은 모든 단일 제스처를 다시 작성해야합니다.

결국지도가 제스처 또는 이와 유사한 것으로 움직이는 경우 부울 false로 토글하고 싶습니다.

내 문제를 해결할 수있는 다른 방법을 알고 계십니까? 나는 다음을 시도 할 https://groups.google.com/forum/#!topic/nutiteq-dev/x55SMOnsuk0

+0

[this] (http://stackoverflow.com/questions/14013002/google-maps-android-api-v2-detect-touch-on-map) 및 [that] (http : // https://adwords.google.com/support/bin/answer.py?answer=13722869/how-to-handle-ontouch-event-for-map-in-google-map-api-v2). 대답은 MapLayout에 Map을 래핑하여 onTouchEvent()를 잡는 것입니다. –

답변

1

:

는) 다음과 같이 자신의지도보기를 만듭니다 https://gist.github.com/nutiteq/b546aaac8cdcfa6a7f09 다음

내가 이전에 내 문제를 게시 Nutiteq의 포럼에 대한 링크입니다. 정상적인 터치 핸들러 만 다시 사용합니다.

b) 레이아웃 xml 및 코드에서 MapView 대신 MyMapView를 사용합니다. 당신의 LocationListener에서

C) :

 @Override 

     public void onLocationChanged(Location location) { 

      if(!mapView.isTouched()) 

       mapView.setFocusPoint(mapView.getLayers().getBaseProjection().fromWgs84(location.getLongitude(), location.getLatitude())); 

     } 

D)는 "GPS가 따라"켜 mapView.setTouched(false);

연락 상태를 재설정하지만 내가 여기에 몇 가지 경우를 놓칠 수 있습니다. 나는 그것을 올바르게하는 것이 까다로울 수 있음을 안다.

+0

도움이 되셨습니다. 감사합니다. – MarcoMeter

+0

대답을 수락하면 나 역시 도움이 될 것입니다. :) – JaakL

관련 문제