Cette page présente un exemple d'ajout d'une carte 3D de base à une application Android à l'aide du SDK Maps 3D pour Android. Les instructions de cette page supposent que vous avez déjà suivi les étapes de la page Configuration et que vous disposez des éléments suivants :
Un projet Google Cloud avec le SDK Maps 3D pour Android activé
Clé API configurée pour être utilisée avec le SDK Maps 3D pour Android
Un projet Android Studio configuré pour être utilisé avec le SDK Maps 3D pour Android
Pour en savoir plus sur ces prérequis, consultez Configuration.
Partie 1 : Mettre à jour le fichier de mise en page (activity_main.xml) pour ajouter le composant Map3DView
Le composant Map3DView est la vue qui affiche la carte 3D dans l'application.
Les étapes suivantes ajoutent le composant et configurent l'état initial de la carte, y compris la position de la caméra et les attributs associés :
Ouvrez le fichier de mise en page de votre activité principale, qui se trouve généralement à l'adresse app/src/main/res/layout/activity_main.xml.
Dans l'élément racine ConstraintLayout (ou votre élément de mise en page racine), ajoutez l'espace de noms XML map3d :
Les étapes suivantes permettent d'initialiser le composant Map3DView ajouté au fichier activity_main.xml dans la partie 1 et de gérer les événements de cycle de vie des composants :
Ouvrez votre fichier MainActivity.kt, qui se trouve généralement dans app/src/main/java/com/example/yourpackagename/MainActivity.kt.
Ajoutez les importations nécessaires pour le SDK Maps 3D pour Android :
Dans la méthode onCreate, après setContentView(...) et le bloc ViewCompat.setOnApplyWindowInsetsListener, initialisez map3DView, appelez sa méthode de cycle de vie onCreate et demandez la carte de manière asynchrone :
Remplacez la méthode onMap3DViewReady. Ce rappel est déclenché dès que la carte est prête à être utilisée :
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 { ... })}
Transférez les événements de cycle de vie de votre activité vers Map3DView en ajoutant les remplacements suivants à MainActivity :
Maintenant que vous avez mis à jour la mise en page et l'activité de votre application, vous pouvez la compiler et l'exécuter pour afficher la vue cartographique 3D.
Pour synchroniser votre projet avec Gradle, sélectionnez File > Sync Project with Gradle Files (Fichier > Synchroniser le projet avec les fichiers Gradle).
Pour compiler et exécuter votre application sur un émulateur ou un appareil physique, sélectionnez Run > Run (Exécuter > Exécuter).
Si tout est correctement configuré, une carte 3D devrait s'afficher dans votre application, centrée sur les coordonnées spécifiées dans votre activity_main.xml.
Étapes suivantes
Maintenant que vous avez ajouté une carte 3D de base à votre application, vous pouvez explorer des fonctionnalités plus avancées du SDK Maps 3D pour Android, telles que les animations de chemin de caméra, les repères 3D ou les polygones.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/31 (UTC).
[null,null,["Dernière mise à jour le 2025/08/31 (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)."]]