마커

공개 최종 클래스 Marker Object
를 확장

지도 표면의 특정 지점에 배치되는 아이콘입니다. 마커 아이콘은 지도의 표면이 아닌 기기의 화면을 기준으로 그려집니다. 즉, 지도 회전, 기울기 또는 확대/축소로 인해 반드시 방향이 변경되지는 않습니다.

마커에는 다음과 같은 속성이 있습니다.

알파
마커의 불투명도를 설정합니다. 기본값은 1.0입니다.
anchor
마커의 LatLng 위치에 배치될 이미지의 점입니다. 기본적으로 이미지의 왼쪽과 하단에서 50% 위치에 배치됩니다.
직위
지도 상의 마커 위치에 대한 LatLng 값입니다. 마커를 이동하려면 언제든지 이 값을 변경할 수 있습니다.
제목
사용자가 마커를 탭할 때 정보 창에 표시되는 텍스트 문자열입니다. 이 값은 언제든지 변경할 수 있습니다.
snippet
제목 아래에 표시되는 추가 텍스트입니다. 이 값은 언제든지 변경할 수 있습니다.
icon
마커에 표시되는 비트맵입니다. 아이콘을 설정하지 않으면 기본 아이콘이 표시됩니다. defaultMarker(float)를 사용하여 기본 아이콘의 대체 색상을 지정할 수 있습니다.
드래그 상태
사용자가 마커를 드래그할 수 있도록 하려면 이 속성을 true로 설정합니다. 이 값은 언제든지 변경할 수 있습니다. 기본값은 false입니다.
공개 상태
기본적으로 마커가 표시됩니다. 마커를 보이지 않게 하려면 이 속성을 false로 설정하세요. 이 값은 언제든지 변경할 수 있습니다.
플랫 또는 빌보드
마커가 지도에 수평으로 놓인 경우 카메라가 회전하고 기울어질 때 마커가 지도에 고정되지만 GroundOverlay와 달리 카메라 확대/축소의 크기 그대로 유지됩니다. 마커가 빌보드인 경우 항상 카메라를 바라보고 그려지며 카메라와 함께 회전하고 기울어집니다. 기본값은 빌보드 (false)입니다.
rotation
마커의 앵커 포인트를 기준으로 마커의 시계 방향 회전 각도입니다(단위: 도). 회전 축은 마커와 직각입니다. 회전이 0이면 마커의 기본 위치에 해당합니다. 지도에서 마커가 평면인 경우 기본 위치는 북쪽 정렬이며 회전은 마커가 지도에서 항상 평평한 상태로 유지됩니다. 마커가 빌보드인 경우 기본 위치는 위를 가리키며 마커는 항상 카메라를 향하도록 회전합니다. 기본값은 0입니다.
zIndex
마커의 그리기 순서입니다. 마커는 zIndex 순으로 그리고 가장 높은 zIndex 마커가 맨 위에 그려집니다. 각 마커의 zIndex 속성을 설정하여 사용자가 누를 가능성이 가장 높은 탭 타겟을 제어할 수 있습니다. 기본값은 0입니다.
태그
마커와 연결된 Object입니다. 예를 들어 Object에는 마커가 나타내는 내용에 대한 데이터가 포함될 수 있습니다. 이는 별도의 Map<Marker, Object>를 저장하는 것보다 쉽습니다. 또 다른 예로, 데이터 세트의 ID에 해당하는 String ID를 연결할 수 있습니다. Android용 Google Maps SDK에서는 이 속성을 읽거나 쓰지 않습니다.

이 클래스의 메서드는 Android UI 스레드에서 호출되어야 합니다. 그러지 않으면 런타임에 IllegalStateException이 발생합니다.

GoogleMap map = ... // get a map.
 // Add a marker at San Francisco.
 Marker marker = map.addMarker(new MarkerOptions()
     .position(new LatLng(37.7750, 122.4183))
     .title("San Francisco")
     .snippet("Population: 776733"));
 

개발자 가이드

자세한 내용은 마커 개발자 가이드를 참고하세요.

중첩된 클래스 요약

@인터페이스 Marker.CollisionBehavior 다른 마커 또는 기본 지도 라벨과 충돌이 발생했을 때 마커를 처리하는 방법을 나타냅니다. 

공개 메서드 요약

boolean
같음(기타 객체)
Marker가 다른 것과 같은지 테스트합니다.
float
getAlpha()
마커의 알파를 가져옵니다.
문자열
getId()
이 마커의 ID를 가져옵니다.
LatLng
getPosition()
마커의 위치를 반환합니다.
float
getRotation()
마커의 회전을 가져옵니다.
문자열
getSnippet()
마커의 스니펫을 가져옵니다.
객체
getTag()
마커의 태그를 가져옵니다.
문자열
getTitle()
마커의 제목을 가져옵니다.
float
getZIndex()
마커의 zIndex를 반환합니다.
int
void
hideInfoWindow()
이 마커에서 정보창이 표시되는 경우 정보창을 숨깁니다.
boolean
isDraggable()
마커의 드래그 가능 여부를 가져옵니다.
boolean
isFlat()
마커의 평면 설정을 가져옵니다.
boolean
isInfoWindowShown()
정보 창이 현재 이 마커 위에 표시되어 있는지 여부를 반환합니다.
boolean
isVisible()
이 마커의 공개 상태 설정을 가져옵니다.
void
remove()
지도에서 이 마커를 삭제합니다.
void
setAlpha(부동 소수점 수 알파)
마커의 알파 (불투명도)를 설정합니다.
void
setAnchor(float anchorU, float anchorV)
마커의 앵커 포인트를 설정합니다.
void
setDraggable(불리언 드래그 가능)
마커의 드래그 가능 여부를 설정합니다.
void
setFlat(불리언 플랫)
이 마커를 지도 true에 평평하게 놓아야 하는지 아니면 카메라 false를 향한 빌보드에 평평해야 하는지 설정합니다.
void
setIcon(BitmapDescriptor iconDescriptor)
마커의 아이콘을 설정합니다.
void
setInfoWindowAnchor(float anchorU, float anchorV)
정보 창이 표시될 때 마커 이미지에서 정보 창을 고정할 지점을 지정합니다.
void
setPosition(LatLng latlng)
마커의 위치를 설정합니다.
void
setRotation(부동 소수점 수 회전)
마커의 앵커 포인트를 기준으로 마커의 회전 각도를 시계 방향으로 설정합니다.
void
setSnippet(문자열 스니펫)
마커의 스니펫을 설정합니다.
void
setTag(객체 태그)
마커의 태그를 설정합니다.
void
setTitle(문자열 제목)
마커의 제목을 설정합니다.
void
setVisible(불리언 표시)
이 마커의 가시성을 설정합니다.
void
setZIndex(부동 소수점 수 zIndex)
마커의 zIndex를 설정합니다.
void
showInfoWindow()
마커가 isVisible()인 경우 지도에 이 마커의 정보 창을 표시합니다.

상속받은 메서드 요약

공개 메서드

공개 부울 같음 (기타 객체)

Marker가 다른 것과 같은지 테스트합니다.

매개변수
기타 Object
반환 값
  • 두 객체가 동일한 객체인 경우, 즉 == other인 경우 true입니다.

public float getAlpha ()

마커의 알파를 가져옵니다.

반환 값
  • [0, 1] 범위에 있는 마커의 알파입니다.

공개 문자열 getId ()

이 마커의 ID를 가져옵니다. ID는 지도의 모든 마커에서 고유합니다.

반환 값
  • 이 마커의 ID입니다.

공개 LatLng getPosition ()

마커의 위치를 반환합니다.

반환 값
  • 마커의 현재 위치를 지정하는 LatLng 객체입니다.

public float getRotation ()

마커의 회전을 가져옵니다.

반환 값
  • 기본 위치에서 시계 방향의 마커 회전 각도를 나타냅니다.

공개 문자열 getSnippet ()

마커의 스니펫을 가져옵니다.

반환 값
  • 마커의 스니펫이 포함된 문자열입니다.

공개 객체 getTag ()

마커의 태그를 가져옵니다.

반환 값
  • setTag로 태그가 설정된 경우 태그, 설정된 태그가 없으면 null입니다.

공개 문자열 getTitle ()

마커의 제목을 가져옵니다.

반환 값
  • 마커의 제목을 포함하는 문자열입니다.

public float getZIndex ()

마커의 zIndex를 반환합니다.

반환 값
  • 이 마커의 zIndex입니다.

public int hashCode ()

public void hideInfoWindow ()

이 마커에서 정보창이 표시되는 경우 정보창을 숨깁니다.

이 마커가 표시되지 않는 경우 이 메서드는 아무런 효과가 없습니다.

공개 불리언 isDraggable ()

마커의 드래그 가능 여부를 가져옵니다. 마커를 드래그할 수 있는 경우 사용자가 마커를 길게 눌러 움직일 수 있습니다.

반환 값
  • 마커를 드래그할 수 있으면 true, 드래그할 수 있으면 false를 반환합니다.

공개 부울 isFlat ()

마커의 평면 설정을 가져옵니다.

반환 값
  • 마커가 지도에 평행인 경우 true, 마커가 카메라를 향해야 하면 false

공개 불리언 isInfoWindowShown ()

정보 창이 현재 이 마커 위에 표시되어 있는지 여부를 반환합니다. 정보 창이 실제로 화면에 표시되는지 여부는 고려하지 않습니다.

공개 불리언 isVisible ()

이 마커의 공개 상태 설정을 가져옵니다. 마커가 화면의 표시 영역 내에 있는지는 나타내지 않습니다. 화면의 표시 영역에 포함된 경우 마커를 그릴지 여부를 나타냅니다.

반환 값
  • 표시합니다.

public void remove ()

지도에서 이 마커를 삭제합니다. 마커를 삭제한 후에는 모든 메서드의 동작이 정의되지 않습니다.

public void setAlpha (부동 소수점 수 알파)

마커의 알파 (불투명도)를 설정합니다. 0~1 사이의 값입니다. 여기서 0은 마커가 완전히 투명함을 의미하고 1은 마커가 완전히 불투명함을 의미합니다.

매개변수
알파

public void setAnchor (float anchorU, float anchorV)

마커의 앵커 포인트를 설정합니다.

앵커는 아이콘 이미지에서 지표면의 마커 위치에 고정된 지점을 지정합니다.

앵커 포인트는 연속 공간 [0.0, 1.0] x [0.0, 1.0]에 지정됩니다. 여기서 (0, 0)은 이미지의 왼쪽 상단이고 (1, 1)은 오른쪽 하단 모서리입니다. W x H 이미지의 고정점은 (W + 1) x (H + 1) 그리드에서 가장 가까운 불연속 그리드 지점으로, 크기를 조정한 다음 반올림하여 얻습니다. 예를 들어 4x2 이미지에서 앵커 포인트 (0.7, 0.6)는 (3, 1)의 그리드 포인트로 확인됩니다.

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----+-----+
 |     |     |   X |     |   (U, V) = (0.7, 0.6)
 |     |     |     |     |
 *-----+-----+-----+-----*
 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----X-----+   (X, Y) = (3, 1)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*
 

매개변수
anchorU 이미지 너비에 대한 비율로 표시되는 앵커의 u 좌표입니다([0, 1] 범위).
anchorV 이미지 높이의 비율로 표시되는 앵커의 v 좌표입니다([0, 1] 범위).

public void setDraggable (boolean draggable)

마커의 드래그 가능 여부를 설정합니다. 마커를 드래그할 수 있는 경우 사용자가 마커를 길게 눌러 움직일 수 있습니다.

매개변수
드래그 가능

public void setFlat (부울 플랫)

이 마커를 지도 true에 평평하게 놓아야 하는지 아니면 카메라 false를 향한 빌보드에 평평해야 하는지 설정합니다.

매개변수
일정함

public void setIcon (BitmapDescriptor iconDescriptor)

마커의 아이콘을 설정합니다.

매개변수
iconDescriptor null이면 기본 마커가 사용됩니다.

public void setInfoWindowAnchor (float anchorU, float anchorV)

정보 창이 표시될 때 마커 이미지에서 정보 창을 고정할 지점을 지정합니다. 앵커와 동일한 좌표계에 지정됩니다. 자세한 내용은 setAnchor(float, float)를 참고하세요. 기본값은 이미지의 상단 중간입니다.

매개변수
anchorU 이미지 너비에 대한 비율로 표시되는 정보 창 앵커의 u 좌표입니다([0, 1] 범위).
anchorV 이미지 높이의 비율로 표시되는 정보 창 앵커의 v 좌표입니다([0, 1] 범위).

public void setPosition (LatLng latlng)

마커의 위치를 설정합니다.

매개변수
위도/경도

public void setRotation (부동 소수점 수 회전)

마커의 앵커 포인트를 기준으로 마커의 회전 각도를 시계 방향으로 설정합니다. 회전 축은 마커와 직각입니다. 회전이 0이면 마커의 기본 위치에 해당합니다.

매개변수
회전

public void setSnippet (문자열 스니펫)

마커의 스니펫을 설정합니다.

매개변수
snippet null인 경우 스니펫이 지워집니다.

public void setTag (객체 태그)

마커의 태그를 설정합니다.

이 속성을 사용하여 임의의 Object을 이 마커와 연결할 수 있습니다. 예를 들어 Object에는 마커가 나타내는 내용에 대한 데이터가 포함될 수 있습니다. 이는 별도로 Map<Marker, Object>를 저장하는 것보다 쉽습니다. 또 다른 예로, 데이터 세트의 ID에 해당하는 String ID를 연결할 수 있습니다. Android용 Google Maps SDK에서는 이 속성을 읽거나 쓰지 않습니다. 앱에서 메모리 누수를 방지하기 위해 setTag(null)를 호출하여 더 이상 필요하지 않은 태그를 삭제하는 것은 개발자의 책임입니다.

매개변수
태그 null이면 태그가 지워집니다.

public void setTitle (문자열 제목)

마커의 제목을 설정합니다.

매개변수
제목 null인 경우 제목이 지워집니다.

public void setVisible (boolean visible)

이 마커의 가시성을 설정합니다. false로 설정되어 있고 현재 이 마커에 대한 정보 창이 표시되고 있는 경우 정보 창이 숨겨집니다.

매개변수
표시

public void setZIndex (float zIndex)

마커의 zIndex를 설정합니다.

매개변수
zIndex

public void showInfoWindow ()

마커가 isVisible()인 경우 지도에 이 마커의 정보 창을 표시합니다.

생성 값
IllegalArgumentException marker이(가) 이 지도에 없는 경우