Android - Map overlay onTouchEvent/onTap howto?
MapView
을 사용합니다 안드로이드 응용 프로그램이
Overlay
(파란색 핀) 건물 목록에서 선택한 건물의 위치를 보여줍니다. 사용자가 오버레이를 탭하면 건물의 이름과 번호를 나타내는 토스트 메시지를 표시하려고합니다. 내가 겪고있는 문제는 오버레이에서
onTap()
을 다룬 나의 처리가
모든 탭 이벤트를 청취한다는 것입니다. 파란색 핀을 누르거나 완전히 다른 곳을 탭하는지에 관계없이 탭 이벤트가 발생합니다. 그냥 문제를 일으키는 것을 호출되는
onTap()
의 비 차별적 본성,
searchedPlaceOverlay = new SearchedPlaceOverlay(SearchPlaces.chosenPlace.getLocation(), this) {
public boolean onTap(GeoPoint p, MapView mapView) {
Toast toast = Toast.makeText(getApplicationContext(), "<building name and #>", Toast.LENGTH_LONG);
toast.show();
return true;
}
};
mv.getOverlays().add(searchedPlaceOverlay);
SearchedPlaceOverlay
는 com.google.android.maps.Overlay
확장하고 파란색 핀이지도에 잘 표시
내 코드는 다음과 같습니다. 이 오버레이가 도청되었는지 구체적으로 판단 할 수있는 간단한 방법이 있습니까?
나는이에 의지 할 수 있지만 이상적으로 나는 ItemizedOverlay 그것으로 가져 오는 추가 코드를 방지하고 싶습니다. –
죄송하지만 ItemizedOverlay가 필요합니다. https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/ItemizedOverlay를 읽으세요. – logcat