2011-12-07 2 views
0

Google지도를 사용하는 Android 앱을 만들고 있습니다. 하나의 기능은 사용자가지도의 포인트를 터치하고 좌표를 검색 할 수 있다는 것입니다. 위의 튜토리얼은 여기 http://mobiforge.com/developing/story/using-google-maps-android?page=1에서 MotionEvent로 구현하는 방법을 보여줍니다 ("터치 한 위치 얻기"의 튜토리얼에서 코드를 찾을 수 있음).Android - 마우스로 클릭 한 픽셀의 좌표를 가져옵니다.

내 문제는 터치 이벤트가 에뮬레이터에서 지원되지 않는 것 같아서 언제든지 테스트 할 수있는 안드로이드 장치가 없다는 것입니다. 그래서 나는 마우스로 화면을 클릭하고 클릭 한 픽셀의 좌표를 얻을 수있는 메소드를 갖고 싶습니다 (그래서이를 geocoordinates로 변환 할 수 있습니다).

내 연구에서 지금까지 나는 뭔가 맞는 것을 발견 할 수 없었고, 뭔가 존재한다면 나는 그렇지 않습니다. 누구든지 도와 줄 수 있습니까?

답변

1

도움이 될 것입니다 :

에서 OnCreate 코드 : 그는 내가에 원하는 것을 않는 경우 터치 응답 오버레이

mapView = (MapView) findViewById(R.id.mapView); 
      mapView.setBuiltInZoomControls(true); 
      List<Overlay> mapOverlays = mapView.getOverlays(); 
      MapOverlay mapOverlay = new MapOverlay(); 

      mapOverlays.add(mapOverlay); 

내부 클래스는

class MapOverlay extends com.google.android.maps.Overlay 
     { 

     @Override 
     public boolean onTap(GeoPoint p, MapView mapView) { 
      // TODO Auto-generated method stub 


      mc= mapView.getController(); 
      mc.animateTo(p); 

      latitude=p.getLatitudeE6()/1E6; 
      longitude=p.getLongitudeE6() /1E6 ; 
        Toast.makeText(Activity.this, 
         p.getLatitudeE6()/1E6 + "," + 
         p.getLongitudeE6() /1E6 , 
         Toast.LENGTH_SHORT).show(); 
     return true; 

     } 
} 
+0

예이 작품은 훌륭합니다! (지금까지 에뮬레이터에서만 테스트되었습니다) 대단히 고마워요! – george

+1

작동한다면, 받아 들여야합니다 (틱). –

+0

완료! 죄송합니다 포럼에 새로운과 나는이 기능을 몰랐다. 나는 그것을 봤다. 나는 그것을 여기에서 발견했다. .. 다시 한번 감사드립니다! – george

1

특정 튜토리얼이 마우스 클릭에도 반응한다는 것을 알게 될 것입니다. 모든 스크린 샷이 에뮬레이터로 된 후에. 저자의 코딩 스타일에

그냥 하나의 참고 사항 :

동안은
if (event.getAction() == 1) 

같은 일에

if (event.getAction() == MotionEvent.ACTION_UP) 

양의 일을하지만, 더 자세한 설명과 더 나은 방법입니다 것입니다

+0

나도 몰라 (에뮬레이터 클릭) 튜토리얼 .. 나는 정말로 그것을 발견하지 못했다. 아마 내 잘못이다. 답변 해 주셔서 감사합니다. – george

관련 문제