Les cartes sont représentées dans l'API 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 de l'application iOS Google Maps, et le SDK propose un grand nombre de fonctionnalités identiques.
En plus des fonctionnalités de cartographie, l'API est également compatible avec un éventail d'interactions cohérentes avec le modèle d'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, comme un appui simple ou un double appui.
La classe clé lorsque vous utilisez 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 via les propriétés et les méthodes exposées par la classe GMSMapView. Utilisez GMSMapView pour ajouter et supprimer des repères, des superpositions au sol et des polylignes, modifier le type de carte affiché et contrôler ce qui est affiché sur la carte via la classe GMSCameraPosition.
Créer des cartes avec SwiftUI
SwiftUI propose une méthode supplémentaire pour créer une interface utilisateur à 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 classeprovideAPIKey:surGMSServices.Créer ou mettre à jour un
ViewController. Si la carte est affichée lorsque ce contrôleur de vue devient visible, veillez à la créer dans la méthodeviewDidLoad.Lors de l'initialisation de votre vue cartographique, définissez les options de configuration avec
GMSMapViewOptions. Les propriétés incluentframe,camera,mapID,backgroundColorouscreen.Définissez la propriété
camerade vos options de carte avec un objetGMSCameraPosition. 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éthodeGMSMapViewoptions:. Si cette carte doit être utilisée comme seule vue du contrôleur de vue, la valeur par défautCGRectZerode l'option de carteframepeut être utilisée comme vueframe. La carte est redimensionnée automatiquement.Définissez l'objet
GMSMapViewcomme 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.
Swift
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let options = GMSMapViewOptions() options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) options.frame = self.view.bounds; let mapView = GMSMapView(options:options) self.view = mapView } }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; self.view = mapView; }
Une fois ces étapes effectuées, vous pouvez configurer l'objet GMSMapView.
Étape suivante
Une fois ces étapes effectuées, vous pourrez configurer les paramètres de la carte.