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 })