Ajouter une carte avec un repère
Ce tutoriel explique comment ajouter une carte Google simple avec un repère à votre appareil iOS l'application. Il convient aux personnes ayant une connaissance débutant ou intermédiaire de Swift ou Objective-C et connaissances générales sur Xcode Pour en savoir plus sur pour créer des cartes, consulter les .
Vous allez créer la carte suivante à l'aide de ce tutoriel. Le repère est positionné Sydney, en Australie.
Obtenir le code
Clonez ou téléchargez le Dépôt d'exemples Google Maps pour iOS sur GitHub.
Vous pouvez également cliquer sur le bouton suivant pour télécharger le code source:
Swift
import UIKit import GoogleMaps class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // 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: self.view.frame, camera: camera) self.view.addSubview(mapView) // 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
#import "ViewController.h" #import <GoogleMaps/GoogleMaps.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // 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]; GMSMapView *mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera]; mapView.myLocationEnabled = YES; [self.view addSubview:mapView]; // 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; } @end
Commencer
Gestionnaire de paquets Swift
Le SDK Maps pour iOS peut être installé à l'aide du gestionnaire de packages Swift.
- Assurez-vous d'avoir supprimé toutes les dépendances existantes du SDK Maps pour iOS.
- Ouvrez une fenêtre de terminal et accédez au répertoire
tutorials/map-with-marker
. -
Assurez-vous que votre espace de travail Xcode est fermé et exécutez les commandes suivantes:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all rm Podfile rm map-with-marker.xcworkspace
- Ouvrez votre projet Xcode et supprimez le fichier Podfile.
- Accédez à Fichier > Ajouter des dépendances de packages
- Saisissez l'URL https://github.com/googlemaps/ios-maps-sdk, appuyez sur Entrée pour récupérer le package, puis cliquez sur Ajouter un package.
- Il se peut que vous deviez réinitialiser le cache du package en sélectionnant Fichier > Packages > Réinitialiser le cache du package
Utiliser CocoaPods
- Téléchargez et installez Xcode. version 15.0 ou ultérieure.
- Si vous ne possédez pas encore CocoaPods,
Installez-le sur macOS en exécutant la commande suivante depuis le terminal:
sudo gem install cocoapods
- Accédez au répertoire
tutorials/map-with-marker
. - Exécutez la commande
pod install
. Le SDK Maps spécifié dansPodfile
sera installé, ainsi que toutes les dépendances. - 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 suivant pour obtenir une clé et activer l'API.
Premiers pasPour en savoir plus, consultez Obtenez 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 votre fichier
application(_:didFinishLaunchingWithOptions:)
, en remplaçant YOUR_API_KEY par votre clé API:GMSServices.provideAPIKey("YOUR_API_KEY")
Compiler et exécuter votre application
- Connectez un appareil iOS à votre ordinateur, ou sélectionnez un simulateur dans le menu 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 Fonctionnalités. .
- Dans Xcode, cliquez sur l'option de menu Product/Run (Produit/Exécuter) l'icône du bouton).
- 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 ajouté à l'application, comme décrit précédemment. Chèque Console de débogage de Xcode pour les messages d'erreur concernant la clé API.
- Si vous avez restreint la clé API à l'aide de l'identifiant du bundle iOS, modifiez la
pour ajouter l'identifiant de bundle pour l'application:
com.google.examples.map-with-marker
- Vérifiez que votre connexion Wi-Fi ou GPS est bonne.
- Utiliser 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
viewDidLoad()
.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 sur la carte dans
viewDidLoad()
.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 des informations lorsque l'utilisateur appuie sur un repère. Il n'est pas nécessaire d'ajouter un écouteur de clics 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 spécifique. Vous avez également appris à utiliser les SDK Maps pour iOS.
Étapes suivantes
En savoir plus sur l'objet map et sur ce que vous avec les repères.