Sie können festlegen, wie sich eine Markierung bei Überschneidungen mit einer anderen Markierung oder einem Kartenlabel verhalten soll. Legen Sie dazu die Eigenschaft collisionBehavior
auf einen der folgenden Werte fest:
REQUIRED
: Die Markierung sollte unabhängig von Konflikten immer angezeigt werden.REQUIRED_AND_HIDES_OPTIONAL
: Die Markierung sollte unabhängig von Konflikten immer angezeigt werden. Bei Markierungen mit demOPTIONAL_AND_HIDES_LOWER_PRIORITY
-Überschneidungsverhalten werden die Standardkartenlabels ausgeblendet, die sich mit dieser Markierung überschneiden.OPTIONAL_AND_HIDES_LOWER_PRIORITY
: Die Markierung sollte nur angezeigt werden, wenn sie sich nicht mit anderen Markierungen überschneidet. Wenn sich zwei Markierungen dieses Typs überschneiden, wird die Markierung mit der höheren Zeichnungsreihenfolge angezeigt. Falls beide dieselbe Zeichnungsreihenfolge haben, wird die Markierung mit der niedrigeren vertikalen Bildschirmposition angezeigt.
Im folgenden Codebeispiel werden die einzelnen Werte für das Kollisionsverhalten veranschaulicht. Wenn Sie dieses Codebeispiel verwenden möchten, folgen Sie der Anleitung unter Einrichtung und 3D‑Karte zur App hinzufügen, um Ihr Android Studio-Projekt mit einer einfachen 3D‑Karte einzurichten. Fügen Sie dann der Datei MainActivity.kt
den folgenden Code hinzu:
// 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 })