Dans l'API, les cartes sont représentées par la classe GMSMapView, une sous-classe de UIView. La carte est l'objet le plus important du SDK Maps pour iOS et fournit les méthodes nécessaires pour ajouter, supprimer et gérer d'autres objets tels que des repères et des polylignes.
Introduction
Le SDK Maps pour iOS vous permet d'afficher une carte Google dans votre application iOS. Ces cartes ont la même apparence que celles qui apparaissent dans l'application iOS Google Maps et le SDK présente de nombreuses fonctionnalités identiques.
Outre la fonctionnalité de cartographie, l'API prend aussi en charge toute une gamme d'interactions conformes au modèle de l'interface utilisateur iOS. Par exemple, vous pouvez configurer des interactions avec une carte en définissant des répondeurs qui réagissent aux gestes de l'utilisateur, tels que l'appui simple et l'appui double.
La classe principale lors de l'utilisation d'un objet Map est la classe GMSMapView.
GMSMapView gère automatiquement les opérations suivantes :
Connexion au service Google Maps
Téléchargement des tuiles de carte
Affichage des tuiles sur l'écran de l'appareil
Affichage de diverses commandes comme le panoramique et le zoom
Réponse aux gestes de panoramique et de zoom (déplacement de la carte et zoom avant ou arrière)
Répondre aux gestes à deux doigts en inclinant l'angle de vue de la carte.
En plus de ces opérations automatiques, vous pouvez contrôler le comportement et l'apparence de la carte grâce aux propriétés et aux méthodes exposées par la classe GMSMapView. Utilisez GMSMapView pour ajouter et supprimer des repères, des calques au sol et des polylignes, modifier le type de carte affiché et contrôler ce qui est affiché sur la carte à l'aide de la classe GMSCameraPosition.
Créer des cartes avec SwiftUI
SwiftUI propose une autre façon de créer une UI à l'aide d'une approche déclarative. Vous indiquez à SwiftUI l'apparence souhaitée pour votre vue ainsi que ses différents états, et le système se charge du reste. SwiftUI gère la mise à jour de la vue chaque fois que l'état sous-jacent change en raison d'un événement ou d'une action de l'utilisateur.
Le SDK Maps pour iOS repose sur UIKit et ne fournit pas de vue compatible avec SwiftUI. Pour ajouter des cartes dans SwiftUI, vous devez vous conformer à UIViewRepresentable ou UIViewControllerRepresentable. Pour en savoir plus, consultez l'atelier de programmation Ajouter une carte à votre application iOS avec SwiftUI.
Ajouter une carte
Les principales étapes pour ajouter une carte sont les suivantes :
Pour télécharger le SDK, obtenir une clé API et ajouter les frameworks requis, suivez les étapes décrites dans :
Dans votre AppDelegate, fournissez votre clé API à la méthode de classe provideAPIKey: sur GMSServices.
Créez ou mettez à jour un ViewController. Si la carte s'affiche lorsque ce contrôleur de vue devient visible, veillez à la créer dans la méthode viewDidLoad.
Lorsque vous initialisez votre vue de carte, définissez les options de configuration avec GMSMapViewOptions. Les propriétés incluent frame, camera, mapID,backgroundColor ou screen.
Définissez la propriété map optionscamera avec un objet GMSCameraPosition. Cela spécifie le centre et le niveau de zoom de la carte.
Créez et instanciez une classe GMSMapView à l'aide de la méthode options:GMSMapView. Si cette carte doit être utilisée comme seule vue du contrôleur de vue, la valeur par défaut CGRectZero de l'option de carte frame peut être utilisée comme vue frame : la carte est redimensionnée automatiquement.
Définissez l'objet GMSMapView comme vue du contrôleur de vue. Exemple : self.view = mapView;.
Dans l'exemple ci-dessous, une carte, centrée sur le centre-ville de Singapour, est ajoutée à une application.
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/09/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/05 (UTC)."],[[["\u003cp\u003eThe Maps SDK for iOS allows you to integrate Google Maps into your iOS application, offering features and interactions similar to the Google Maps app.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGMSMapView\u003c/code\u003e is the primary class for working with maps, handling tasks like connecting to Google Maps, downloading tiles, and responding to user gestures.\u003c/p\u003e\n"],["\u003cp\u003eTo add a map, obtain an API key, configure the \u003ccode\u003eGMSMapView\u003c/code\u003e object with desired settings like camera position and frame, and then set it as the view controller's view.\u003c/p\u003e\n"],["\u003cp\u003eSwiftUI integration requires using \u003ccode\u003eUIViewRepresentable\u003c/code\u003e or \u003ccode\u003eUIViewControllerRepresentable\u003c/code\u003e due to the SDK being built on \u003ccode\u003eUIKit\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAfter adding the map, you can further configure its settings to customize its appearance and behavior.\u003c/p\u003e\n"]]],[],null,["\u003cbr /\u003e\n\nSelect platform: [Android](/maps/documentation/android-sdk/map \"View this page for the Android platform docs.\") [iOS](/maps/documentation/ios-sdk/map \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/javascript/maptypes \"View this page for the JavaScript platform docs.\")\n\n\u003cbr /\u003e\n\n| **Note:** This document describes how to add a Google Map to an iOS application. If you would like to know how to launch the Google Maps standalone application, refer to the [URL Scheme](/maps/documentation/ios-sdk/urlscheme) documentation.\n\nMaps are represented in the API by the [`GMSMapView`](/maps/documentation/ios-sdk/reference/objc/Classes/GMSMapView) class, a\nsubclass of `UIView`. The map is the most significant object in the\nMaps SDK for iOS, and provides necessary methods for adding, removing\nand managing other objects such as markers and polylines.\n\nIntroduction\n\nThe Maps SDK for iOS lets you to display a Google map in\nyour iOS application. These maps have the same appearance as the maps you see in\nthe [Google Maps](https://itunes.apple.com/app/id585027354)\niOS app, and the SDK exposes many of the same features.\n\nIn addition to mapping functionality, the API also supports a range of\ninteractions that are consistent with the iOS UI model. For example, you can set\nup interactions with a map by defining responders that react to user gestures,\nsuch as tap and double-tap.\n\nThe key class when working with a Map object is the `GMSMapView` class.\n`GMSMapView` handles the following operations automatically:\n\n- Connecting to the Google Maps service.\n- Downloading map tiles.\n- Displaying tiles on the device screen.\n- Displaying various controls such as pan and zoom.\n- Responding to pan and zoom gestures by moving the map and zooming in or out.\n - Responding to two finger gestures by tilting the viewing angle of the map.\n\nIn addition to these automatic operations, you can control the behavior and\nappearance of the map through the properties and methods exposed by the\n`GMSMapView` class. Use `GMSMapView` to add and remove markers, ground\noverlays and polylines, change the type of map that is displayed, and control\nwhat is shown on the map through the [`GMSCameraPosition`](/maps/documentation/ios-sdk/reference/objc/Classes/GMSCameraPosition)\nclass.\n\nBuild Maps with SwiftUI\n\nSwiftUI offers an additional way to create UI using a declarative approach. You\ntell SwiftUI how you want your view to look along with all the different states\nfor it, and the system does the rest. SwiftUI handles updating the view whenever\nthe underlying state changes due to an event or user action.\n\nMaps SDK for iOS is built on top of `UIKit` and doesn't provide a\nSwiftUI-compatible view. Adding maps in SwiftUI requires conforming to either\n`UIViewRepresentable` or `UIViewControllerRepresentable`. To learn more, see the\nCodelab [adding a map to your iOS app with\nSwiftUI](/codelabs/maps-platform/maps-platform-ios-swiftui#0).\n\nAdd a map\n\nThe basic steps for adding a map are:\n\n1. To get the SDK, obtain an API key, and add the required frameworks, follow\n the steps in:\n\n 1. [Set Up in the Google Cloud console](/maps/documentation/ios-sdk/cloud-setup)\n\n 2. [Use an API key](/maps/documentation/ios-sdk/get-api-key)\n\n 3. [Set up an Xcode Project](/maps/documentation/ios-sdk/config)\n\n 4. In your `AppDelegate`, provide your API key to the `provideAPIKey:`\n class method on `GMSServices`.\n\n 5. Create or update a `ViewController`. If the map is displayed when this\n view controller becomes visible, be sure to create it within the\n `viewDidLoad` method.\n\n 6. When initializing your map view, set configuration options with\n `GMSMapViewOptions`. Properties include the `frame`, `camera`,\n `mapID`,`backgroundColor` or `screen`.\n\n 7. Set your [map options](/maps/documentation/ios-sdk/configure-map#map_options) `camera` property with a\n `GMSCameraPosition` object. This specifies the center and zoom level of\n the map.\n\n 8. Create and instantiate a `GMSMapView` class using the `GMSMapView`\n `options:` method. If this map is to be used as the view controller's\n only view, the map option `frame` default value of `CGRectZero` can be\n used as the view `frame` --- the map is resized automatically.\n\n 9. Set the `GMSMapView` object as the view controller's view. For example,\n `self.view = mapView;`.\n\nThe below example adds a map, centered at downtown Singapore, to an app. \n\nSwift \n\n```swift\nimport GoogleMaps\n\nclass MapObjects : UIViewController {\n override func viewDidLoad() {\n super.viewDidLoad()\n\n let options = GMSMapViewOptions()\n options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)\n options.frame = self.view.bounds;\n\n let mapView = GMSMapView(options:options)\n self.view = mapView\n }\n}\n```\n\nObjective-C \n\n```objective-c\n- (void)viewDidLoad {\n [super viewDidLoad];\n\n GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];\n options.camera = [GMSCameraPosition cameraWithLatitude:1.285\n longitude:103.848\n zoom:12];\n options.frame = self.view.bounds;\n\n GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];\n self.view = mapView;\n}\n```\n\nOnce you've followed these steps, you may further configure the `GMSMapView`\nobject.\n\nWhat's next\n\nAfter you complete these steps, you can [configure the map\nsettings](/maps/documentation/ios-sdk/configure-map)."]]