Ajouter une carte avec un repère
Ce tutoriel vous montre comment ajouter une carte Google à votre application iOS. La carte comporte un repère, qui permet d'indiquer 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, procédez comme suit:
- Téléchargez et installez Xcode version 14.0 ou ultérieure.
- Si vous ne disposez pas encore de CocoaPods, installez-le sur macOS en exécutant la commande suivante à partir du terminal :
sudo gem install cocoapods
- Clonez ou téléchargez le dépôt d'exemples Google Maps pour iOS.
- Accédez au répertoire
tutorials/map-with-marker
. - Exécutez la commande
pod install
. Les API spécifiées dans le fichierPodfile
seront installées, ainsi que toutes les dépendances dont elles peuvent disposer. - Exécutez
pod outdated
pour comparer la version du pod installée avec les nouvelles mises à jour. Si une nouvelle version est détectée, exécutezpod update
pour mettre à jourPodfile
et installer la dernière version du SDK. Pour en savoir plus, consultez le guide CocoaPods. - 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.
CommencerPour en savoir plus, consultez Obtenir une clé API.
Ajouter la clé API à votre application
Ajoutez votre clé API à votre fichier AppDelegate.swift
comme suit :
- Notez que l'instruction d'importation suivante a été ajoutée au fichier :
import GoogleMaps
- Modifiez la ligne suivante dans la 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
- Connectez un appareil iOS à votre ordinateur, ou sélectionnez un simulateur dans le menu contextuel du schéma Xcode.
- Si vous utilisez un appareil, assurez-vous que les services de localisation sont activés. Si vous utilisez un simulateur, sélectionnez un lieu dans le menu Fonctionnalités.
- 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 (côte est de l'Australie), semblable à l'image figurant sur cette page.
Dépannage :
- Si aucune carte ne s'affiche, vérifiez que vous avez bien obtenu une clé API et que vous l'avez ajoutée à l'application, comme décrit ci-dessus. Consultez la console de débogage de Xcode pour vérifier s'il contient des messages d'erreur concernant la clé API.
- Si vous avez restreint la clé API par l'identifiant du bundle iOS, modifiez-la pour ajouter l'identifiant du bundle pour l'application :
com.google.examples.map-with-marker
. - Assurez-vous d'avoir un bon signal Wi-Fi ou GPS.
- Utilisez les outils de débogage Xcode pour afficher les journaux et déboguer l'application.
Comprendre le code
- 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;
- Ajoutez un repère à 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 indiquant un lieu spécifique. Vous avez également appris à utiliser le SDK Maps pour iOS.
Étapes suivantes
En savoir plus sur l'objet map et sur les possibilités qu'offrent les repères