Auf dieser Seite wird anhand eines Beispiels beschrieben, wie Sie mit dem Maps 3D SDK für Android eine einfache 3D-Karte in eine Android-App einfügen. Bei der Anleitung auf dieser Seite wird davon ausgegangen, dass Sie die Schritte auf der Seite Einrichtung bereits ausgeführt haben und Folgendes haben:
Ein Google Cloud-Projekt mit aktiviertem Maps 3D SDK für Android
Ein API-Schlüssel, der für die Verwendung mit dem Maps 3D SDK für Android konfiguriert ist
Ein Android Studio-Projekt, das für die Verwendung mit dem Maps 3D SDK für Android eingerichtet ist
Weitere Informationen zu diesen Voraussetzungen finden Sie unter Einrichtung.
Teil 1: Layoutdatei (activity_main.xml) aktualisieren, um die Komponente Map3DView hinzuzufügen
Die Komponente Map3DView ist die Ansicht, in der die 3D-Karte in der App gerendert wird. Mit den folgenden Schritten wird die Komponente hinzugefügt und der Anfangszustand der Karte konfiguriert, einschließlich der Kameraposition und der zugehörigen Attribute:
Öffnen Sie die Layoutdatei Ihrer Hauptaktivität, die sich normalerweise unter app/src/main/res/layout/activity_main.xml befindet.
Fügen Sie im Stamm-ConstraintLayout-Element (oder Ihrem Stamm-Layoutelement) den map3d-XML-Namespace hinzu:
In den folgenden Schritten wird die Map3DView-Komponente initialisiert, die in Teil 1 der Datei activity_main.xml hinzugefügt wurde, und es werden Lebenszyklusereignisse der Komponente verwaltet:
Öffnen Sie die Datei MainActivity.kt, die sich normalerweise unter app/src/main/java/com/example/yourpackagename/MainActivity.kt befindet.
Fügen Sie die erforderlichen Importe für das Maps 3D SDK für Android hinzu:
Initialisieren Sie in der Methode onCreate nach setContentView(...) und dem Block ViewCompat.setOnApplyWindowInsetsListener die map3DView, rufen Sie die Methode onCreate des Lebenszyklus auf und fordern Sie die Karte asynchron an:
Überschreiben Sie die Methode onMap3DViewReady. Dieser Callback wird ausgelöst, sobald die Karte einsatzbereit ist:
overridefunonMap3DViewReady(googleMap3D:GoogleMap3D){// Interact with the googleMap3D object herethis.googleMap3D=googleMap3D// You can now make calls to the googleMap3D object, e.g.,// googleMap3D.cameraController.flyTo(camera { ... })}
Leiten Sie Lebenszyklusereignisse aus Ihrer Aktivität an Map3DView weiter, indem Sie der MainActivity die folgenden Überschreibungen hinzufügen:
Nachdem Sie das Layout und die Aktivität Ihrer App aktualisiert haben, können Sie die App erstellen und ausführen, um die 3D-Kartenansicht zu sehen.
Wenn Sie Ihr Projekt mit Gradle synchronisieren möchten, wählen Sie File > Sync Project with Gradle Files (Datei > Projekt mit Gradle-Dateien synchronisieren) aus.
Wenn Sie Ihre App auf einem Emulator oder einem physischen Gerät erstellen und ausführen möchten, wählen Sie Ausführen > Ausführen aus.
Wenn alles richtig konfiguriert ist, sollte in Ihrer App eine 3D-Karte angezeigt werden, die auf die in Ihrem activity_main.xml angegebenen Koordinaten zentriert ist.
Nächste Schritte
Nachdem Sie Ihrer App eine einfache 3D-Karte hinzugefügt haben, können Sie sich mit den erweiterten Funktionen des Maps 3D SDK for Android vertraut machen, z. B. Kamera-Pfad-Animationen, 3D-Markierungen oder Polygone.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-05 (UTC)."],[],[],null,["# Add a 3D map to your app\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\u003cbr /\u003e\n\nSelect platform: [Android](/maps/documentation/maps-3d/android-sdk/add-a-3d-map \"View this page for the Android platform docs.\") [iOS](/maps/documentation/maps-3d/ios-sdk/add-a-3d-map \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/javascript/3d/get-started \"View this page for the JavaScript platform docs.\")\n\n\u003cbr /\u003e\n\nThis page walks through an example of how to add a basic 3D map to an Android\napp using the Maps 3D SDK for Android. The instructions on this page assume that you\nhave already completed the steps in the\n[Setup](/maps/documentation/maps-3d/android-sdk/setup) page and have the\nfollowing:\n\n- A Google Cloud project with the Maps 3D SDK for Android enabled\n- An API key configured to use with the Maps 3D SDK for Android\n- An Android Studio project set up to use with the Maps 3D SDK for Android\n\nFor more information about these prerequisites, see\n[Setup](/maps/documentation/maps-3d/android-sdk/setup).\n\nPart 1: Update Layout File (`activity_main.xml`) to add the `Map3DView` component\n---------------------------------------------------------------------------------\n\nThe `Map3DView` component is the view that renders the 3D map within the app.\nThe following steps add the component and configure the initial state of the\nmap, including the camera position and related attributes:\n| **Note:** The steps in this section assume that you have created and configured your Android Studio project using the process described in [Setup](/maps/documentation/maps-3d/android-sdk/setup), or that you have added a new View activity to an existing project. If you create a new Android Studio project without adding a View activity, your project won't contain an `activity_main.xml` file.\n\n1. Open your main activity's layout file, which is usually located at\n `app/src/main/res/layout/activity_main.xml`.\n\n2. In the root `ConstraintLayout` (or your root layout element), add the `map3d`\n XML namespace:\n\n xmlns:map3d=\"http://schemas.android.com/apk/res-auto\"\n\n3. Delete the default `\u003cTextView\u003e` that displays \"Hello World!\".\n\n4. Add the `Map3DView` component to your layout. You can customize the camera\n position and other attributes:\n\n \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n \u003candroidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n xmlns:map3d=\"http://schemas.android.com/apk/res-auto\" xmlns:tools=\"http://schemas.android.com/tools\"\n android:id=\"@+id/main\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"match_parent\"\n tools:context=\".MainActivity\"\u003e\n\n \u003ccom.google.android.gms.maps3d.Map3DView\n android:id=\"@+id/map3dView\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"match_parent\"\n map3d:mode=\"hybrid\"\n map3d:centerLat=\"38.544012\"\n map3d:centerLng=\"-107.670428\"\n map3d:centerAlt=\"2427.6\"\n map3d:heading=\"310\"\n map3d:tilt=\"63\"\n map3d:range=\"8266\"\n map3d:roll=\"0\"\n map3d:minAltitude=\"0\"\n map3d:maxAltitude=\"1000000\"\n map3d:minHeading=\"0\"\n map3d:maxHeading=\"360\"\n map3d:minTilt=\"0\"\n map3d:maxTilt=\"90\"\n app:layout_constraintBottom_toBottomOf=\"parent\"\n app:layout_constraintEnd_toEndOf=\"parent\"\n app:layout_constraintStart_toStartOf=\"parent\"\n app:layout_constraintTop_toTopOf=\"parent\" /\u003e\n \u003c/androidx.constraintlayout.widget.ConstraintLayout\u003e\n\nPart 2: Update MainActivity.kt\n------------------------------\n\nThe following steps initialize the `Map3DView` component added to the\n`activity_main.xml` file in Part 1 and manage component lifecycle events:\n\n1. Open your `MainActivity.kt` file, which is usually located at\n `app/src/main/java/com/example/yourpackagename/MainActivity.kt`.\n\n2. Add the necessary imports for the Maps 3D SDK for Android:\n\n import com.google.android.gms.maps3d.GoogleMap3D\n import com.google.android.gms.maps3d.Map3DView\n import com.google.android.gms.maps3d.OnMap3DViewReadyCallback\n\n3. Modify the `MainActivity` class to implement `OnMap3DViewReadyCallback`:\n\n class MainActivity : AppCompatActivity(), OnMap3DViewReadyCallback {\n\n4. Declare variables for `Map3DView` and `GoogleMap3D`:\n\n private lateinit var map3DView: Map3DView\n private var googleMap3D: GoogleMap3D? = null\n\n5. In the `onCreate` method, after `setContentView(...)` and the\n `ViewCompat.setOnApplyWindowInsetsListener` block, initialize the `map3DView`,\n call its `onCreate` lifecycle method, and request the map asynchronously:\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n enableEdgeToEdge()\n setContentView(R.layout.activity_main)\n ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -\u003e\n val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())\n v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)\n insets\n }\n\n map3DView = findViewById(R.id.map3dView)\n map3DView.onCreate(savedInstanceState)\n map3DView.getMap3DViewAsync(this)\n }\n\n6. Override the `onMap3DViewReady` method. This callback is triggered when the\n map is ready to be used:\n\n override fun onMap3DViewReady(googleMap3D: GoogleMap3D) {\n // Interact with the googleMap3D object here\n this.googleMap3D = googleMap3D\n // You can now make calls to the googleMap3D object, e.g.,\n // googleMap3D.cameraController.flyTo(camera { ... })\n }\n\n7. Forward lifecycle events from your Activity to the `Map3DView` by adding the\n following overrides to the `MainActivity`:\n\n override fun onStart() {\n super.onStart()\n map3DView.onStart()\n }\n\n override fun onResume() {\n super.onResume()\n map3DView.onResume()\n }\n\n override fun onPause() {\n map3DView.onPause()\n super.onPause()\n }\n\n override fun onStop() {\n map3DView.onStop()\n super.onStop()\n }\n\n override fun onDestroy() {\n map3DView.onDestroy()\n super.onDestroy()\n }\n\n override fun onSaveInstanceState(outState: Bundle) {\n super.onSaveInstanceState(outState)\n map3DView.onSaveInstanceState(outState)\n }\n\n override fun onLowMemory() {\n super.onLowMemory()\n map3DView.onLowMemory()\n }\n\nPart 3: Sync Gradle and Run\n---------------------------\n\nNow that you've updated your app's layout and activity, you can build and run\nthe app to see the 3D map view.\n\n1. To sync your project with Gradle, select **File \\\u003e Sync Project with Gradle Files.**\n\n2. To build and run your app on an emulator or a physical device, select\n **Run \\\u003e Run**.\n\nIf everything is configured correctly, you should see a 3D map displayed in your\napp, centered near the coordinates specified in your `activity_main.xml`.\n\nNext steps\n----------\n\nNow that you've added a basic 3D map to your app, you can explore more advanced\nfeatures of the Maps 3D SDK for Android, such as\n[camera path animations](/maps/documentation/maps-3d/android-sdk/custom-camera-paths),\n[3D markers](/maps/documentation/maps-3d/android-sdk/add-a-marker), or\n[polygons](/maps/documentation/maps-3d/android-sdk/add-polygons)."]]