
Sie können die Höhe einer Markierung festlegen, indem Sie die Eigenschaft altitudeMode
auf einen der folgenden Werte setzen:
ABSOLUTE
RELATIVE_TO_GROUND
CLAMP_TO_GROUND
RELATIVE_TO_MESH
Das folgende Codebeispiel zeigt, wie die einzelnen Methoden verwendet werden. Wenn Sie dieses Codebeispiel verwenden möchten, folgen Sie der Anleitung unter Einrichtung und 3D-Karte in Ihre App einfü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 ... // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized googleMap3D.setMapMode(Map3DMode.SATELLITE) googleMap3D.setCamera( camera { center = latLngAltitude { latitude = 52.51974795 longitude = 13.40715553 altitude = 150.0 } heading = 252.7 tilt = 79.0 range = 1500.0 } ) // Marker 1: Absolute googleMap3D.addMarker(markerOptions { position = latLngAltitude { latitude = 52.519605780912585 longitude = 13.406867190588198 altitude = 150.0 } label = "Absolute (150m)" altitudeMode = AltitudeMode.ABSOLUTE isExtruded = true isDrawnWhenOccluded = true collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL }) // Marker 2: Relative to Ground googleMap3D.addMarker(markerOptions { position = latLngAltitude { latitude = 52.519882191069016 longitude = 13.407410777254293 altitude = 50.0 } label = "Relative to Ground (50m)" altitudeMode = AltitudeMode.RELATIVE_TO_GROUND isExtruded = true isDrawnWhenOccluded = true }) // Marker 3: Clamped to Ground googleMap3D.addMarker(markerOptions { position = latLngAltitude { latitude = 52.52027645136134 longitude = 13.408271658592406 altitude = 0.0 // altitude is effectively ignored by CLAMP_TO_GROUND for rendering, // but might be relevant if you read the marker's position later. // For CLAMP_TO_GROUND, it's often set to 0.0. } label = "Clamped to Ground" altitudeMode = AltitudeMode.CLAMP_TO_GROUND isExtruded = true isDrawnWhenOccluded = true }) // Marker 4: Relative to Mesh googleMap3D.addMarker(markerOptions { position = latLngAltitude { latitude = 52.520835071144226 longitude = 13.409426847943774 altitude = 10.0 // Altitude relative to 3D mesh (buildings, terrain features) } label = "Relative to Mesh (10m)" altitudeMode = AltitudeMode.RELATIVE_TO_MESH isExtruded = true isDrawnWhenOccluded = true })