iNaviMaps
  • 소개
  • 개발 가이드
    • 준비하기
    • 준비하기 (0.20.0 미만 버전)
    • 지도 추가하기
    • 지도 유형과 스타일 설정하기
      • 지도 유형 설정하기
      • 나만의 지도 스타일 만들기
    • 지도와 상호작용하기
      • 컨트롤과 제스처
      • 지도 이벤트
      • 사용자 위치 확인
      • 카메라와 뷰
    • 지도 위에 그리기
      • 개요
      • 셰이프 이벤트
      • 마커
      • 정보 창
      • 도형
      • 위치 아이콘
      • 경로
      • 클러스터링
    • 좌표계 변환하기
  • 참고 사이트
    • API 레퍼런스
    • 변경 내역
    • 샘플 앱
  • 바로가기
    • iOS SDK
Powered by GitBook
On this page
  • 클릭 이벤트
  • 이벤트 전파 및 소비

Was this helpful?

  1. 개발 가이드
  2. 지도 위에 그리기

셰이프 이벤트

사용자가 셰이프 이벤트를 통해 지도와 상호 작용하도록 하는 방법을 설명합니다.

Previous개요Next마커

Last updated 5 years ago

Was this helpful?

클릭 이벤트

의 속성으로 사용자가 셰이프를 클릭했을 때의 이벤트를 감지할 수 있습니다. 콜백 함수로 클릭된 셰이프 객체가 전달됩니다. 하나의 셰이프에는 하나의 클릭 리스너만 설정할 수 있습니다.

marker.setOnClickListener {
    Toast.makeText(this, "마커 클릭", Toast.LENGTH_SHORT).show()
    true // 이벤트 소비 여부. true로 설정 시 지도로 클릭 이벤트가 전달되지 않는다.
}

클릭 리스너를 해제하려면 속성을 null로 설정하면 됩니다.

marker.onClickListener = null

이벤트 전파 및 소비

셰이프의 클릭 이벤트는 로직 수행 후 지도의 클릭 이벤트로 전달될 수 있습니다. 필요에 따라서 셰이프 클릭 이벤트에서 이벤트를 소비시켜 클릭 이벤트가 지도로 전달되지 않도록 할 수도 있습니다.

// 지도 클릭 리스너 설정
inaviMap.setOnMapClickListener {
    Toast.makeText(context, "지도 클릭", Toast.LENGTH_SHORT).show()
}

// 클릭 이벤트를 소비하는 마커.
// 클릭 시 "마커1 클릭" 토스트 메시지만 표출된다.
marker1.setOnClickListener {
    Toast.makeText(this, "마커1 클릭", Toast.LENGTH_SHORT).show()
    true // 이벤트를 소비.
}

// 지도까지 클릭 이벤트가 전달되는 마커.
// 클릭 시 "마커2 클릭" 토스트 메시지 -> "지도 클릭" 토스트 메시지 순서대로 표출된다.
marker2.setOnClickListener {
    Toast.makeText(this, "마커2 클릭", Toast.LENGTH_SHORT).show()
    false // 이벤트를 소비하지 않음.
}
InvShape
onClickListener
onClick()
onClickListener