يمكنك ضبط ارتفاع علامة عن طريق ضبط السمة
altitudeMode
على إحدى القيم التالية:
ABSOLUTE
RELATIVE_TO_GROUND
CLAMP_TO_GROUND
RELATIVE_TO_MESH
يوضّح نموذج الرمز البرمجي التالي كيفية استخدام كل طريقة من الطرق. لاستخدام نموذج الرمز البرمجي هذا، اتّبِع التعليمات الواردة في الإعداد وإضافة خريطة ثلاثية الأبعاد إلى تطبيقك لإعداد مشروعك على Android Studio باستخدام خريطة ثلاثية الأبعاد أساسية. بعد ذلك، أضِف الرمز التالي إلى ملف
MainActivity.kt:
// Add importsimportcom.google.android.gms.maps3d.model.latLngAltitude...// Add to the onMap3DViewReady method, after the googleMap3D object has been initializedgoogleMap3D.setMapMode(Map3DMode.SATELLITE)googleMap3D.setCamera(camera{center=latLngAltitude{latitude=52.51974795longitude=13.40715553altitude=150.0}heading=252.7tilt=79.0range=1500.0})// Marker 1: AbsolutegoogleMap3D.addMarker(markerOptions{position=latLngAltitude{latitude=52.519605780912585longitude=13.406867190588198altitude=150.0}label="Absolute (150m)"altitudeMode=AltitudeMode.ABSOLUTEisExtruded=trueisDrawnWhenOccluded=truecollisionBehavior=CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL})// Marker 2: Relative to GroundgoogleMap3D.addMarker(markerOptions{position=latLngAltitude{latitude=52.519882191069016longitude=13.407410777254293altitude=50.0}label="Relative to Ground (50m)"altitudeMode=AltitudeMode.RELATIVE_TO_GROUNDisExtruded=trueisDrawnWhenOccluded=true})// Marker 3: Clamped to GroundgoogleMap3D.addMarker(markerOptions{position=latLngAltitude{latitude=52.52027645136134longitude=13.408271658592406altitude=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_GROUNDisExtruded=trueisDrawnWhenOccluded=true})// Marker 4: Relative to MeshgoogleMap3D.addMarker(markerOptions{position=latLngAltitude{latitude=52.520835071144226longitude=13.409426847943774altitude=10.0// Altitude relative to 3D mesh (buildings, terrain features)}label="Relative to Mesh (10m)"altitudeMode=AltitudeMode.RELATIVE_TO_MESHisExtruded=trueisDrawnWhenOccluded=true})
تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Configure marker altitude\n\nSelect platform: [Android](/maps/documentation/maps-3d/android-sdk/configure-marker-altitude \"View this page for the Android platform docs.\") [iOS](/maps/documentation/maps-3d/ios-sdk/configure-marker-altitude \"View this page for the iOS platform docs.\")\n\n\u003cbr /\u003e\n\n| This product or feature is Experimental (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google\n| Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage descriptions](/maps/launch-stages).\n\n\nYou can set a marker's altitude by setting the\n[`altitudeMode`](/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/model/MarkerOptions#altitudeMode())\nproperty to one of the\nfollowing values:\n\n- `ABSOLUTE`\n- `RELATIVE_TO_GROUND`\n- `CLAMP_TO_GROUND`\n- `RELATIVE_TO_MESH`\n\nThe following code sample\ndemonstrates how to use each of the methods. To use this code sample, follow the instructions in\n[Setup](/maps/documentation/maps-3d/android-sdk/setup) and\n[Add a 3D map to your app](/maps/documentation/maps-3d/android-sdk/add-a-3d-map) to set\nup your Android Studio project with a basic 3D map. Then, add the following code to the\n**`MainActivity.kt`** file: \n\n```kotlin\n // Add imports\n import com.google.android.gms.maps3d.model.latLngAltitude\n \n ...\n \n // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized\n googleMap3D.setMapMode(Map3DMode.SATELLITE)\n \n googleMap3D.setCamera(\n camera {\n center = latLngAltitude {\n latitude = 52.51974795\n longitude = 13.40715553\n altitude = 150.0\n }\n heading = 252.7\n tilt = 79.0\n range = 1500.0\n }\n )\n \n \n // Marker 1: Absolute\n googleMap3D.addMarker(markerOptions {\n position = latLngAltitude {\n latitude = 52.519605780912585\n longitude = 13.406867190588198\n altitude = 150.0\n }\n label = \"Absolute (150m)\"\n altitudeMode = AltitudeMode.ABSOLUTE\n isExtruded = true\n isDrawnWhenOccluded = true\n collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL\n })\n \n // Marker 2: Relative to Ground\n googleMap3D.addMarker(markerOptions {\n position = latLngAltitude {\n latitude = 52.519882191069016\n longitude = 13.407410777254293\n altitude = 50.0\n }\n label = \"Relative to Ground (50m)\"\n altitudeMode = AltitudeMode.RELATIVE_TO_GROUND\n isExtruded = true\n isDrawnWhenOccluded = true\n })\n \n // Marker 3: Clamped to Ground\n googleMap3D.addMarker(markerOptions {\n position = latLngAltitude {\n latitude = 52.52027645136134\n longitude = 13.408271658592406\n altitude = 0.0 // altitude is effectively ignored by CLAMP_TO_GROUND for rendering,\n // but might be relevant if you read the marker's position later.\n // For CLAMP_TO_GROUND, it's often set to 0.0.\n }\n label = \"Clamped to Ground\"\n altitudeMode = AltitudeMode.CLAMP_TO_GROUND\n isExtruded = true\n isDrawnWhenOccluded = true\n })\n \n // Marker 4: Relative to Mesh\n googleMap3D.addMarker(markerOptions {\n position = latLngAltitude {\n latitude = 52.520835071144226\n longitude = 13.409426847943774\n altitude = 10.0 // Altitude relative to 3D mesh (buildings, terrain features)\n }\n label = \"Relative to Mesh (10m)\"\n altitudeMode = AltitudeMode.RELATIVE_TO_MESH\n isExtruded = true\n isDrawnWhenOccluded = true\n })\n \n \n```"]]