지도 이벤트
사용자가 지도 이벤트를 통해 지도와 상호작용 하는 방법을 설명합니다.
지도 이벤트 감지
InaviMap
의 각 리스너 속성을 설정하면 사용자가 지도를 클릭, 길게 클릭, 두 번 클릭 했을 때의 이벤트를 감지할 수 있습니다.
지도 클릭
onMapClickListener
속성은 사용자가 지도를 클릭했을 때의 이벤트를 담당하는 리스너입니다. 사용자가 지도를 클릭하면 이 리스너의 콜백 함수로 화면상의 좌표와 지도상의 좌표가 전달됩니다.
inaviMap.setOnMapClickListener { pointF, latLng ->
Toast.makeText(context, "화면상 좌표 : (${pointF.x}, ${pointF.y})\n" +
"지도상 좌표 : (${latLng.latitude}, ${latLng.longitude})",
Toast.LENGTH_SHORT).show()
}
지도 길게 클릭
onMapLongClickListener
속성은 사용자가 지도를 길게 클릭했을 때의 이벤트를 담당하는 리스너입니다. 사용자가 지도를 길게 클릭하면 이 리스너의 콜백 함수로 화면상의 좌표와 지도상의 좌표가 전달됩니다.
inaviMap.setOnMapLongClickListener { pointF, latLng ->
Toast.makeText(context, "화면상 좌표 : (${pointF.x}, ${pointF.y})\n" +
"지도상 좌표 : (${latLng.latitude}, ${latLng.longitude})",
Toast.LENGTH_SHORT).show()
}
지도 두 번 클릭
onMapDoubleClickListener
속성은 사용자가 지도를 두 번 클릭했을 때의 이벤트를 담당하는 리스너입니다. 사용자가 지도를 두 번 클릭하면 이 리스너의 콜백 함수로 화면상의 좌표와 지도상의 좌표가 전달됩니다. 함수의 반환값은 지도가 이벤트를 소비할 지 여부입니다. true
를 반환할 경우 지도 두 번 클릭의 기본 동작(지도 확대)이 실행되지 않습니다.
inaviMap.setOnMapDoubleClickListener { pointF, latLng ->
Toast.makeText(context, "화면상 좌표 : (${pointF.x}, ${pointF.y})\n" +
"지도상 좌표 : (${latLng.latitude}, ${latLng.longitude})",
Toast.LENGTH_SHORT).show()
// 이벤트 소비 여부. true를 반환하면 시 지도 확대 기능이 작동하지 않는다.
return@setOnMapDoubleClickListener true
}
Last updated
Was this helpful?