4

안녕하세요 여러분, 일단 사용자가지도에서 탭하면 특정 지점의 좌표를 가져 오는 앱을 만들려고합니다. Get coordinates on tapping map in androidAndroid에서지도를 탭하고 좌표를 얻으십시오.

그것은 가장 관련성이 포스트 것 같아하지만 내가 원하는 것은 마커/오버레이 항목의 아무 곳이나지도에없는 탭 할 수있다 : 그 중에서도

는 또한 읽었습니다. 실제로 사용자가 두드리고 좌표를 얻는 특정 지점에 마커를 만들고 싶습니다.

그럴 수 있습니까?

감사

마이크

답변

1

예. 실제로 the answer I gave in that other question이 필요합니다.

+0

havent 한 아직 그것을 시도 ... 위도와 경도에 그 변환하지만, 오버레이 항목과하지에이를 위해 self..Thanks지도를 onTouchEvent 방법을 추가 재처럼 보인다합니다 어쨌든 답장을해라. – mixkat

+0

Ok 나는 그것을 뒤로 가져 간다. .... 그것은 절대적으로 멋지다. .. 굉장한! !!! 다시 한번 감사해라! !!! – mixkat

+0

@mixkat 어떻게 했니? – Erum

0

약간의 수학과 함께 하찮은 일이어야합니다. getLatitudeSpan()getLongitudeSpan()을 사용하여 보이는지도의 범위를 가져올 수 있으며 getMapCenter()을 사용하여 중심점을 볼 수 있습니다. 이를 터치 이벤트의 좌표로 매핑하면됩니다.

편집 : Mark는 항상 그렇듯이 더욱 세련된 솔루션을 제공합니다.

+0

답장을 보내 주셔서 감사합니다 !!! – mixkat

+0

사실,이 사람은 독자의 기부금에서 나온 것이므로 전액 기부 할 수는 없습니다. – CommonsWare

0

onTouchEvent()를 재정의해야합니다. 당신이에서 getProjection에서 (프로젝션을 사용할 수있는 터치의 화면 좌표 감안할 때

,

내가 사용자가지도에서 자신의 손가락을 리프트 반면에 onTouchEvent()를 사용하여 보여주는 ... 코드가 유 도움이 될 것입니다 다음 희망 ...()지도보기에)

@Override 
     public boolean onTouchEvent(MotionEvent event, MapView mapView) 
     { 
      GeoPoint point_touch; 
      MapController map_controller=mapView.getController(); 
      //---when user lifts his finger--- 
      if (event.getAction() == event.ACTION_UP) {     
       point_touch = mapView.getProjection().fromPixels((int) event.getX(),(int) event.getY());      
       Log.i("Cordinates","Lattitude="+point_touch.getLatitudeE6()/1E6 
         +" Longitude="+point_touch.getLongitudeE6() /1E6 ); 
       map_controller.animateTo(point_touch); 
       return true; 
      }  
      else 
      { 
       return false; 
      } 

     } 
관련 문제