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

Was this helpful?

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

마커

지도 상에 하나의 지점을 표시할 때 사용되며 아이콘, 타이틀 등으로 정보를 표현할 수 있습니다. 원하는 아이콘 이미지를 표출하거나 회전, 투명도 등 다양한 속성을 제공합니다. 마커를 지도 위에 그리는 방법을 설명합니다.

Previous셰이프 이벤트Next정보 창

Last updated 4 years ago

Was this helpful?

추가 및 삭제

지도 위 특정 지점에 마커를 추가하려면 객체를 생성한 다음 반드시 속성을 설정해주어야 합니다. 속성은 함수를 사용하거나, 마커 객체 생성자를 통해 설정할 수 있습니다.

생성된 마커 객체의 속성을 표출하고자 하는 지도 객체로 설정하면 지도 위에 마커가 표출됩니다.

// 지도 위에 마커 추가
val marker = InvMarker().apply {
    position = LatLng(37.40219, 127.11047)
    map = inaviMap
}
// 지도에서 마커 제거
marker.map = null

위치

아이콘

아이콘은 지도 상에 표출될 마커 형태를 의미합니다. 이미지, 앵커, 회전 등의 속성을 지원합니다.

이미지

// 드로어블 리소스를 이용하여 마커 아이콘 이미지 설정
marker.iconImage = InvImage(R.drawable.marker_icon)
// 기본으로 제공되는 이미지를 이용하여 마커 아이콘 이미지 설정
marker.iconImage = InvMarkerIcons.BLUE

앵커

회전

// 마커의 아이콘 이미지를 45도 회전
marker.angle = 45f

크기

// 마커의 아이콘 이미지 크기를 2배로 설정
marker.iconScale = 2.0f

타이틀

마커가 표출되는 지점에 간단한 정보를 텍스트 형태로 표현할 때 사용합니다.

텍스트

marker.title = "타이틀" // 타이틀 "타이틀"로 설정

최대 가로 길이

marker.title = "동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세"
marker.titleMaxWidth = 100 // 타이틀 최대 가로 길이를 100px로 설정

색상

marker.titleColor = Color.YELLOW // 타이틀 색상 : 노란색
marker.titleHaloColor = Color.BLACK // 타이틀 외곽선 색상 : 검은색

크기

// 타이틀 크기를 20dp로 설정
marker.titleSize = 20f

불투명도

// 마커의 불투명도를 0.5로 설정
marker.alpha = 0.5f

겹침 발생 시 정책

필요에 따라 여러 개의 마커를 가깝게 배치해야 하는 경우가 있습니다. 이 때, 각각의 마커는 겹침이 발생하게 되며, 아이콘과 텍스트가 서로 겹쳐 표출되어 시인성이 저하되는 상황이 발생할 수 있습니다.

다음 속성으로 우선순위에 따라 마커를 표출하는 방식을 설정할 수 있습니다.

반대로 지도에서 마커를 제거하려면 속성을 null로 설정하면 됩니다.

속성으로 마커가 표출될 위치를 가져오거나 새로 설정할 수 있습니다. 이미 마커가 지도에 표출 중이라면, 이 속성을 변경할 경우 마커가 새로운 위치로 이동합니다. 속성을 설정하지 않았거나, 좌표가 유효하지 않으면 이 발생합니다.

속성으로 아이콘의 이미지를 가져오거나 새로 설정할 수 있습니다. 이미지를 설정하려면 객체 생성이 필요하며, , 비트맵, Asset 등을 인자로 하여 객체를 생성할 수 있습니다.

마커 아이콘으로 사용할 이미지는 단말의 해상도별 대응이 필요하므로 를 이용하여 생성하는 것을 권장합니다.

아이나비 지도 SDK는 다양한 마커 아이콘을 기본으로 제공합니다. 제공되는 아이콘은 클래스에 정의되어 있으며, 지원하는 아이콘의 종류는 다음과 같습니다.

속성으로 마커 아이콘의 앵커를 가져오거나 설정할 수 있습니다. 앵커는 아이콘 이미지의 기준점이 되는 지점을 의미합니다. 속성에 설정된 좌표는 아이콘의 앵커 지점과 일치합니다.

속성은 아이콘 이미지 크기 기준 비율을 x, y 순서쌍 형태로 표현합니다. 따라서 왼쪽 위는 (0, 0), 오른쪽 아래는 (1, 1)이 됩니다.

속성으로 마커 아이콘의 회전 각도를 가져오거나 새로 설정할 수 있습니다. 0은 위쪽 방향을 의미하며, 값이 커질수록 시계 방향으로 회전합니다. 360이 되면 다시 위쪽 방향이 됩니다. 마커 아이콘 회전 시 속성의 값을 기준으로 회전합니다.

속성으로 마커 아이콘의 크기를 가져오거나 새로 설정할 수 있습니다. 마커 아이콘 크기 설정 시 속성의 값을 기준으로 아이콘 크기가 커집니다.

속성으로 마커의 타이틀 텍스트를 가져오거나 새로 설정할 수 있습니다. 빈 문자열이나 null로 설정할 경우 타이틀이 표출되지 않습니다.

속성으로 마커의 타이틀 최대 가로 길이를 가져오거나 새로 정할 수 있습니다. 타이틀 텍스트의 길이가 설정된 속성 값을 초과하면 타이틀에 줄바꿈이 발생합니다. 0으로 설정할 경우 타이틀에 줄바꿈이 발생하지 않습니다.

속성으로 마커의 타이틀 색상을 가져오거나 새로 설정할 수 있습니다. 또한 속성으로 마커의 타이틀 외곽선 색상을 설정할 수 있습니다.

속성으로 마커의 타이틀 크기를 가져오거나 새로 설정할 수 있습니다.

속성으로 마커의 불투명도를 가져오거나 새로 설정할 수 있습니다. 0.0~1.0 사이의 값을 입력할 수 있으며 0.0은 완전한 투명, 1.0은 완전한 불투명을 의미합니다. 속성은 마커의 아이콘과 타이틀 모두 적용됩니다.

속성 값이 0.0이면 시각적으로는 마커가 표출되지 않지만 실제로 마커는 지도 위에 그려지고 있습니다. 따라서, 다른 마커와 겹침이 발생할 수 있고 클릭 리스너를 설정했을 경우 이벤트를 받게 됩니다.

마커 사이에 겹침이 발생했을 때 마커의 우선순위에 따른 표출 정책을 설정할 수 있습니다. 마커의 우선순위는 속성 값이 클수록 높으며, 만약 값이 서로 같을 경우 나중에 추가된 마커의 우선순위가 더 높은 것으로 간주합니다.

마커 겹침 발생 시 마커를 표출할지 여부를 의미합니다. false로 설정할 경우 우선순위가 낮은 마커는 아이콘과 타이틀이 숨김 처리됩니다.

마커 겹침 발생 시 타이틀을 표출할지 여부를 의미합니다. false로 설정할 경우 우선순위가 낮은 마커는 타이틀이 숨김 처리됩니다.

마커와 지도 심벌간 겹침 발생 시 겹침을 허용할지 여부를 의미합니다. true로 설정할 경우 겹침을 유지합니다.

map
position
position
InvalidLatLngException
iconImage
InvImage
드로어블 리소스
드로어블 리소스
InvMarkerIcons
InvMarkerIcons.RED
InvMarkerIcons.GREEN
InvMarkerIcons.BLUE
InvMarkerIcons.YELLOW
InvMarkerIcons.GRAY
anchor
position
anchor
angle
anchor
iconScale
anchor
title
titleMaxWidth
titleMaxWidth
titleColor
titleHaloColor
titleSize
alpha
alpha
alpha
zIndex
isAllowOverlapMarkers
isAllowOverlapTitle
isAllowOverlapSymbols
InvMarker
position
position
setPosition()
map
지도 위에 마커를 추가한 모습
기본으로 제공되는 마커 이미지
마커의 아이콘 이미지 회전 각도를 설정한 모습
마커의 아이콘 크기를 설정한 모습
마커의 타이틀 텍스트를 설정한 모습
마커의 타이틀 최대 가로 길이를 설정한 모습
마커의 타이틀 색상과 외곽선 색상을 설정한 모습
마커의 타이틀 크기를 설정한 모습
마커의 불투명도를 설정한 모습
마커의 겹침이 발생한 모습