이번에는 롱터치 입력시 해당하는 위치에 마커를 띄우는 것을 하도록 하겠습니다.

이번 예제는 아래의 링크를 참고하였습니다.
http://www.androidpub.com/494988
참고로 삭제되는 부분은 현재 문제가 좀 있기 때문에 수정을 추후에 할 예정입니다. (혹은 아예 사용을 하지 않거나요. -_-)




우선 MainActivity가 수정된 모습입니다.

수정된 부분을 중심으로 확인을 하도록 하겠습니다.




위에서 임의의 좌표를 추가를 하는 이유는 다음의 소스를 보시면 아시겠지만 onTap을 할 경우 삭제를 하는 것이 포함이 되어있습니다. 따라서 오버레이 리스트에 포함된 내용이 하나도 없다면 바로 죽어버리는 문제가 있습니다.

여기서는 OverlayItem 클래스를 이용하여 오버레이에 더해주었다는 것이 포인트입니다.




변형된 OverlayItems.java의 파일입니다. 역시 바뀐 부분을 위주로 살펴보도록 하겠습니다.




새롭게 추가된 변수입니다.




수정되거나 새롭게 추가된 내용입니다.
중요한 부분은 onLongPress함수와 onTap(GeoPoint p, MapView mapView)입니다.
onLongPress는 약 3초 이상 터치를 하고 있으면 동작합니다. longTouch 변수를 true로 변환을 해주고요.
onTap에서 if문 통과를 한 다음에는 이를 addOverlay를 이용하여 추가합니다.


실행화면입니다.

저작자 표시 비영리 변경 금지
신고
by 가우초 2011.08.26 19:05
| 1 |