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

Ajouter une carte avec un repère

Ce tutoriel vous explique comment ajouter une carte Google à votre application iOS. La carte inclut un repère, également appelé épingle, qui indique un lieu spécifique.

Récupérer le code

Clonez ou téléchargez le dépôt d'exemples Google Maps pour iOS à partir de GitHub.

Configurer votre projet de développement

Pour installer le SDK Maps pour iOS:

  1. Téléchargez et installez Xcode version 13.0 ou ultérieure.
  2. Si vous ne possédez pas encore de CocoaPods, installez-le sur macOS en exécutant la commande suivante depuis le terminal :
    sudo gem install cocoapods
  3. Clonez ou téléchargez le dépôt d'exemples Google Maps pour iOS.
  4. Accédez au répertoire tutorials/map-with-marker.
  5. Exécutez la commande pod install. Cette opération permet d'installer les API spécifiées dans Podfile, ainsi que les dépendances éventuelles.
  6. Ouvrez (double-cliquez) le fichier map-with-marker.xcworkspace du projet pour l'ouvrir dans Xcode. Vous devez utiliser le fichier .xcworkspace pour ouvrir le projet.

Obtenir une clé API et activer les API nécessaires

Pour suivre ce tutoriel, vous devez disposer d'une clé API Google autorisée à utiliser le SDK Maps pour iOS. Cliquez sur le bouton ci-dessous pour obtenir une clé et activer l'API.

Commencer

Pour en savoir plus, consultez Obtenir une clé API.

Ajouter la clé API à votre application

Swift

Ajoutez votre clé API à votre fichier AppDelegate.swift comme suit :

  1. Notez que l'instruction d'importation suivante a été ajoutée au fichier :
    import GoogleMaps
  2. Modifiez la ligne suivante dans votre méthode application(_:didFinishLaunchingWithOptions:), en remplaçant YOUR_API_KEY par votre clé API :
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective-C

Ajoutez votre clé API à votre fichier AppDelegate.m comme suit :

  1. Notez que l'instruction d'importation suivante a été ajoutée au fichier :
    @import GoogleMaps;
  2. Modifiez la ligne suivante dans votre méthode application(_:didFinishLaunchingWithOptions:), en remplaçant YOUR_API_KEY par votre clé API :
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

Créer et exécuter votre application

  1. Connectez un appareil iOS à votre ordinateur ou sélectionnez un simulateur dans le menu contextuel du schéma Xcode.
  2. Si vous utilisez un appareil, assurez-vous que les services de localisation sont activés. Si vous utilisez un simulateur, sélectionnez un emplacement dans le menu Fonctionnalités.
  3. Dans Xcode, cliquez sur l'option de menu Product/Run (Produit/Exécuter) (ou sur l'icône du bouton de lecture).

Xcode crée l'application, puis l'exécute sur l'appareil ou sur le simulateur.

Vous devriez voir une carte avec un repère centré sur Sydney sur la côte est de l'Australie, semblable à l'image sur cette page.

Dépannage :

  • Si vous ne voyez pas de carte, vérifiez que vous avez bien obtenu une clé API et que vous l'avez ajoutée à l'application, comme décrit ci-dessus. Recherchez des messages d'erreur liés à la clé API dans la console de débogage de Xcode.
  • Si vous avez restreint la clé API par l'identifiant de groupe iOS, modifiez-la pour ajouter l'identifiant de groupe pour l'application : com.google.examples.map-with-marker.
  • Vérifiez que vous disposez d'une bonne connexion GPS ou Wi-Fi.
  • Utilisez les outils de débogage Xcode pour afficher les journaux et déboguer l'application.

Comprendre le code

  1. Créez une carte et définissez-la comme vue dans loadView().

    Swift

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    view = mapView
          

    Objective-C

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6.0];
    GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera];
    self.view = mapView;
          
  2. Ajoutez un repère sur la carte dans loadView().

    Swift

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
          

    Objective-C

    // Creates a marker in the center of the map.
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
    marker.title = @"Sydney";
    marker.snippet = @"Australia";
    marker.map = mapView;
          

Par défaut, le SDK Maps pour iOS affiche le contenu de la fenêtre d'informations lorsque l'utilisateur appuie sur un repère. Il n'est pas nécessaire d'ajouter un écouteur de clic pour le repère si le comportement par défaut vous suffit.

Félicitations ! Vous avez créé une application iOS qui affiche une carte Google avec un repère pour indiquer un lieu particulier. Vous avez également appris à utiliser le SDK Maps pour iOS.

Étapes suivantes

En savoir plus sur l'objet de carte et sur les possibilités offertes par les repères