Możesz określić, jak znacznik ma się zachowywać, gdy koliduje z innym
znacznikiem lub etykietą mapy, ustawiając
collisionBehavior
właściwość na jedną z tych wartości:
REQUIRED: znacznik powinien być zawsze wyświetlany niezależnie od kolizji.REQUIRED_AND_HIDES_OPTIONAL: znacznik powinien być zawsze wyświetlany niezależnie od kolizji. Znaczniki z zachowaniem przy kolizjiOPTIONAL_AND_HIDES_LOWER_PRIORITYlub domyślne etykiety mapy, które nakładają się na ten znacznik, zostaną ukryte.OPTIONAL_AND_HIDES_LOWER_PRIORITY: znacznik powinien być wyświetlany tylko wtedy, gdy nie nakłada się na inne znaczniki. Jeśli 2 znaczniki tego typu nakładają się na siebie, wyświetlany jest ten z wyższą kolejnością rysowania. Jeśli mają tę samą kolejność rysowania, wyświetlany jest ten znacznik, który znajduje się niżej na ekranie.
Ten przykład kodu pokazuje każdą z wartości zachowania przy kolizji. Aby
użyć tego przykładu kodu, postępuj zgodnie z instrukcjami w
Konfigurowanie i dodawanie mapy 3D do
aplikacji, aby skonfigurować projekt
Android Studio z podstawową mapą 3D. Następnie dodaj ten kod do pliku 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
})