Ajouter une carte

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Sélectionnez une plate-forme : Android iOS JavaScript

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. Elle 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 que vous voyez dans l'application Google Maps pour iOS et le SDK présente de nombreuses fonctionnalités identiques.

En plus de la fonctionnalité de mappage, l'API accepte une plage 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éponses qui réagissent aux gestes de l'utilisateur (par exemple, appui et double appui).

La classe de clé utilisée 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 à deux gestes 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. GMSMapView vous permet d'ajouter et de supprimer des repères, des superpositions au sol et des polylignes, de modifier le type de carte affichée et de contrôler ce qui est affiché sur la carte via la classe GMSCameraPosition.

Créer des cartes avec SwiftUI

SwiftUI propose une méthode déclarative pour créer une UI. Vous indiquez à SwiftUI comment vous souhaitez que votre vue se présente ainsi que les différents états possibles, 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 encore de vue compatible avec SwiftUI. Pour ajouter des cartes dans SwiftUI, vous devez respecter le format 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 :

  1. Pour télécharger le SDK, obtenir une clé API et ajouter les frameworks requis, suivez les étapes décrites dans :

    1. Effectuer la configuration dans la console Google Cloud

    2. Utiliser une clé API

    3. Configurer un projet Xcode

  2. Dans votre fichier AppDelegate, fournissez votre clé API à la méthode de la classe provideAPIKey: sur GMSServices.

  3. Créez ou mettez à jour un ViewController. Si la carte est affichée lorsque ce contrôleur de vue devient visible, veillez à la créer dans la méthode loadView.

    1. Créez un objet GMSCameraPosition qui spécifie le centre et le niveau de zoom de la carte. Lorsque vous instanciez l'objet GMSMapView, vous devez transmettre l'objet GMSCameraPosition en tant que paramètre obligatoire.

    2. Créez et instanciez une classe GMSMapView à l'aide de la méthode mapWithFrame: GMSMapView. Si cette carte doit être utilisée comme vue unique du contrôleur de vue, CGRectZero peut être utilisé comme cadre de la carte. Elle sera automatiquement redimensionnée.

    3. Définissez l'objet GMSMapView comme vue du contrôleur de vue, par 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 camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12)
    let mapView = GMSMapView(frame: .zero, camera: camera)
    self.view = mapView
  }
}
      

Objective-C

#import "MapObjects.h"
@import GoogleMaps;

@implementation MapObjects

- (void)viewDidLoad {
  [super viewDidLoad];
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  self.view = mapView;
}

@end
      

Une fois que vous avez suivi ces étapes, vous pouvez configurer davantage l'objet GMSMapView.

Étapes suivantes

Une fois ces étapes terminées, vous pouvez configurer les paramètres de la carte.