마커 충돌 동작 구성

플랫폼 선택: Android iOS JavaScript

collisionBehavior 속성을 다음 값 중 하나로 설정하여 마커가 다른 마커 또는 지도 라벨과 충돌할 때의 동작을 지정할 수 있습니다.

  • REQUIRED: 충돌과 관계없이 항상 마커를 표시해야 합니다.
  • REQUIRED_AND_HIDES_OPTIONAL: 충돌과 관계없이 항상 마커를 표시해야 합니다. OPTIONAL_AND_HIDES_LOWER_PRIORITY 충돌 동작이 있는 마커와 이 마커와 겹치는 기본 지도 라벨은 숨겨집니다.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY: 마커가 다른 마커와 겹치지 않는 경우에만 마커를 표시해야 합니다. 이 유형의 마커 두 개가 겹치면 그리기 순서가 더 높은 마커가 표시됩니다. 그리기 순서가 동일하면 세로 화면 위치가 더 낮은 마커가 표시됩니다.

다음 코드 샘플은 각 충돌 동작 값을 보여줍니다. 이 코드 샘플을 사용하려면 설정앱에 3D 지도 추가의 안내에 따라 기본 3D 지도로 Android 스튜디오 프로젝트를 설정하세요. 그런 다음 MainActivity.kt 파일에 다음 코드를 추가합니다.

// Add imports
import com.google.android.gms.maps3d.model.latLngAltitude

...

// Marker 1: REQUIRED
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.52027645136134
        longitude = 13.408271658592406
        altitude = 0.0
    }
    label = "Collision Behavior: REQUIRED"
    altitudeMode = AltitudeMode.CLAMP_TO_GROUND
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.REQUIRED
})

// Marker 2: REQUIRED_AND_HIDES_OPTIONAL
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.519605780912585
        longitude = 13.406867190588198
        altitude = 150.0
    }
    label = "Colliding Behavior: REQUIRED_AND_HIDES_OPTIONAL"
    altitudeMode = AltitudeMode.ABSOLUTE
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
})

// Marker 3: OPTIONAL_AND_HIDES_LOWER_PRIORITY
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.519882191069016
        longitude = 13.407410777254293
        altitude = 50.0
    }
    label = "Colliding Behavior: OPTIONAL_AND_HIDES_LOWER_PRIORITY"
    altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY
})