Dans l'API, les cartes sont représentées par la classe GMSMapView
, une
de UIView
. La carte est l'objet le plus important
SDK Maps pour iOS, et fournit les méthodes nécessaires pour ajouter et supprimer
et la gestion d'autres objets tels que les repères et les 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 que vous voyez dans l'application Google Maps iOS et le SDK offrent la plupart des mêmes fonctionnalités.
Outre la fonctionnalité de mappage, l'API accepte différents types de des interactions cohérentes avec le modèle d'UI iOS. Par exemple, vous pouvez définir les interactions avec une carte en définissant des personnes interrogées qui réagissent aux gestes des utilisateurs, comme taper et tapoter deux fois.
La classe principale lorsque vous travaillez avec 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éponse aux gestes à deux doigts en inclinant l'angle de vue de la sur la carte.
Outre ces opérations automatiques, vous pouvez contrôler le comportement
de la carte à travers les propriétés et les méthodes exposées par
GMSMapView
. GMSMapView
vous permet d'ajouter et de supprimer des repères,
les superpositions et les polylignes, modifier le type de carte affichée et contrôler
les éléments affichés sur la carte via le GMSCameraPosition
.
Créer des cartes avec SwiftUI
SwiftUI offre un moyen supplémentaire de créer une UI à l'aide d'une approche déclarative. Toi indiquer à SwiftUI à quoi doit ressembler votre vue, ainsi que les 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 respecter :
UIViewRepresentable
ou UIViewControllerRepresentable
. Pour en savoir plus, consultez les
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 obtenir le SDK, obtenir une clé API et ajouter les frameworks requis, suivez la procédure à suivre:
Dans votre fichier
AppDelegate
, fournissez votre clé API auprovideAPIKey:
. surGMSServices
.Créez ou mettez à jour un
ViewController
. Si la carte est affichée lorsque cette le contrôleur de vue devient visible, veillez à le créer dans laviewDidLoad
.Lors de l'initialisation de la vue plan, définissez les options de configuration avec
GMSMapViewOptions
Les propriétés incluentframe
,camera
,mapID
,backgroundColor
ouscreen
.Définissez votre propriété
camera
d'options de carte avec uneGMSCameraPosition
. Permet de spécifier le centre et le niveau de zoom sur la carte.Créer et instancier une classe
GMSMapView
à l'aide deGMSMapView
options:
. Si cette carte doit être utilisée comme la vue uniquement, la valeur par défaut deCGRectZero
pour l'option de carteframe
peut être utilisée commeframe
de vue : la carte est redimensionnée automatiquement.Définissez l'objet
GMSMapView
en tant que 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; }
Après avoir suivi ces étapes, vous pouvez continuer à configurer GMSMapView
.
Étape suivante
Une fois ces étapes terminées, vous pouvez configurer la carte paramètres.