Vous êtes prêt !

Pour passer à l'étape de développement, accédez à notre documentation pour les développeurs.

Activer Google Maps SDK for iOS

Pour commencer, nous allons vous guider à travers la console Google Developers et effectuer deux ou trois petites choses :

  1. Créer ou choisir un projet
  2. Activer Google Maps SDK for iOS
  3. Créer les clés appropriées
Continuer

Premiers pas

Avant de pouvoir commencer à travailler avec Google Maps sur iOS, vous devez télécharger Google Maps SDK for iOS et vous assurer de posséder une clé d'API.

Des notes de version complètes sont disponibles pour chaque version.

Si vous utilisez Google Maps SDK for iOS avec une licence Google Maps APIs Premium Plan, consultez plutôt le [guide de démarrage de Premium Plan.

Étape 1 : Obtenir la dernière version de Xcode

Pour créer un projet avec Google Maps SDK for iOS, vous avez besoin de la version 7.3 ou ultérieure de Xcode.

Étape 2 : Installer le SDK

Utiliser CocoaPods

Google Maps SDK for iOS est disponible sous forme de pod CocoaPods. CocoaPods est un gestionnaire de dépendances open source pour les projets Cocoa Swift et Objective-C.

Si vous ne possédez pas encore l'outil CocoaPods, installez-le sur macOS en exécutant la commande suivante à partir du terminal. Pour plus de détails, voir le guide de démarrage de CocoaPods.

sudo gem install cocoapods

Créez un fichier Podfile pour Google Maps SDK for iOS et utilisez-le pour installer l'API et ses dépendances :

  1. Si vous n'avez pas encore de projet Xcode, créez-en un immédiatement et enregistrez-le sur votre machine locale. (Si vous n'êtes pas familier du développement iOS, créez une application Single View.)
  2. Créez un fichier intitulé Podfile dans le répertoire de votre projet. Ce fichier définit les dépendances de votre projet.
  3. Modifiez le fichier Podfile en y ajoutant vos dépendances. Voici un exemple qui inclut les dépendances dont vous avez besoin pour Google Maps SDK for iOS et Places API for iOS (facultatif) :
    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps'
      pod 'GooglePlaces'
    end

    Les clients du plan Premium doivent également ajouter : pod 'google/M4B'.

  4. Enregistrez le fichier Podfile.
  5. Sur un terminal, accédez au répertoire contenant le fichier Podfile :

    cd <path-to-project>
  6. Exécutez la commande pod install. Les API spécifiées dans le Podfile sont alors installées avec toutes les dépendances associées.

    pod install
  7. Fermez Xcode, et ouvrez (par un double clic) le fichier .xcworkspace de votre projet pour lancer Xcode. À partir de ce moment, vous devez utiliser le fichier .xcworkspace pour ouvrir le projet.

Installer manuellement

Ce guide décrit comment ajouter manuellement le framework Google Maps à votre projet et configurer les paramètres de votre build dans Xcode.

  1. Téléchargez les fichiers source SDK : GoogleMaps-2.0.1.
  2. Décompressez les fichiers source.
  3. Lancez Xcode et ouvrez un projet existant ou créez-en un nouveau. Si vous débutez avec iOS, créez une application Single View, désactivez Use Storyboards et activez Use Automatic Reference Counting.
  4. Faites glisser les groupes suivants dans votre projet (lorsque vous y êtes invité, sélectionnez Copy items if needed) :
    • Subspecs/Base/Frameworks/GoogleMapsBase.framework
    • Subspecs/Maps/Frameworks/GoogleMaps.framework
    • Subspecs/Maps/Frameworks/GoogleMapsCore.framework

    Les clients du plan Premium doivent également inclure Subspecs/M4B/Frameworks/GoogleMapsM4B.framework.

  5. Cliquez avec le bouton droit de la souris sur GoogleMaps.framework dans votre projet, puis sélectionnez Show In Finder.
  6. Faites glisser GoogleMaps.bundle depuis le dossier Resources de votre projet. Lorsque vous y êtes invité, assurez-vous que l'option Copy items into destination group's folder n'est pas sélectionnée.
  7. Sélectionnez votre projet dans Project Navigator, puis choisissez la cible de votre application.
  8. Ouvrez l'onglet Build Phases, puis dans Link Binary with Libraries, ajoutez les frameworks suivants :
    • GoogleMapsBase.framework
    • GoogleMaps.framework
    • GoogleMapsCore.framework
    • GoogleMapsM4B.framework (clients du plan Premium uniquement)
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  9. Choisissez votre projet au lieu de sélectionner une cible spécifique, et ouvrez l'onglet Build Settings. Dans la section Other Linker Flags, ajoutez -ObjC. Si ces paramètres ne sont pas visibles, changez le filtre dans la barre Build Settings de Basic à All.

  10. Pour installer Places API for iOS, voir Premiers pas avec Places API for iOS.

Étape 4 : Obtenir une clé d'API

Cliquez sur le bouton ci-dessous pour obtenir de l'aide tout au long du processus d'activation de Google Maps SDK for iOS et d'obtention d'une clé d'API. Si votre projet comporte déjà une clé d'API restreinte à iOS, vous pouvez utiliser cette clé.

Obtenir une clé

Vous pouvez également obtenir une clé d'API comme suit :

  1. Allez à la Google API Console.
  2. Créez ou sélectionnez un projet.
  3. Cliquez sur Continue pour activer le Google Maps SDK for iOS.
  4. Sur la page Credentials, obtenez une clé d'API.
    Remarque : Si vous possédez une clé avec des restrictions pour iOS, vous pouvez l'utiliser. Vous pouvez utiliser la même clé avec n'importe laquelle de vos applications iOS au sein du même projet.
  5. Dans la boîte de dialogue affichant la clé d'API, sélectionnez Restrict key afin de définir une restriction pour iOS sur la clé d'API.
  6. Dans la section Restrictions, sélectionnez iOS apps, puis saisissez l'identifiant de groupe de votre application. Par exemple : com.example.hellomap.
  7. Cliquez sur Save.

    Votre nouvelle clé d'API restreinte à iOS s'affiche dans la liste des clés d'API de votre projet. Une clé d'API est une chaîne de caractères semblable à ce qui suit :

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Vous pouvez également rechercher une clé existante dans la Google API Console.

Pour plus d'informations sur l'utilisation de la Google API Console, voir l'aide de la API Console.

Étape 5 : Ajouter la clé d'API à votre application

Swift

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

  1. Ajoutez la déclaration d'importation suivante :
    import GoogleMaps
  2. Ajoutez ce qui suit à votre méthode application(_:didFinishLaunchingWithOptions:), en remplaçant YOUR_API_KEY par votre clé d'API :
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Si vous utilisez également Places API, ajoutez votre clé à nouveau, tel qu'illustré ici :
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

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

  1. Ajoutez la déclaration d'importation suivante :
    @import GoogleMaps;
  2. Ajoutez ce qui suit à votre méthode application:didFinishLaunchingWithOptions:, en remplaçant YOUR_API_KEY par votre clé d'API :
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Si vous utilisez également Places API, ajoutez votre clé à nouveau, tel qu'illustré ici :
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Étape 6 : Ajouter une carte

Le code ci-dessous montre comment ajouter une carte simple à un objet ViewController existant. Si vous créez une nouvelle application, suivez d'abord les instructions d'installation ci-dessus, puis créez une nouvelle application Single View en désactivant Use Storyboards mais en activant Use Automatic Reference Counting (ARC).

À présent, ajoutez ou mettez à jour quelques méthodes dans le ViewController par défaut de votre application afin de créer et d'initialiser une instance de GMSMapView.

Swift

import UIKit
import GoogleMaps

class YourViewController: UIViewController {

  // You don't need to modify the default init(nibName:bundle:) method.

  override func loadView() {
    // 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)
    mapView.isMyLocationEnabled = true
    view = 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 "YourViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@implementation YourViewController

// You don't need to modify the default initWithNibName:bundle: method.

- (void)loadView {
  // 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:CGRectZero camera:camera];
  mapView.myLocationEnabled = YES;
  self.view = 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

Exécutez votre application. Vous devriez voir une carte avec un seul marqueur centré sur Sydney en Australie. Si vous voyez le marqueur alors que la carte n'est pas visible, confirmez que vous avez fourni votre clé d'API.

Étape 7 : Déclarer les modèles d'URL utilisés par l'API

Depuis iOS 9 et Xcode 7, les applications doivent déclarer les modèles d'URL qu'elles ont l'intention d'ouvrir en spécifiant ces modèles dans le fichier Info.plist de l'application. Google Maps SDK for iOS ouvre l'application mobile Google Maps lorsque l'utilisateur clique sur le logo Google sur la carte ; votre application doit donc déclarer les modèles d'URL pertinents.

Pour déclarer les modèles d'URL utilisés par Google Maps SDK for iOS, ajoutez les lignes suivantes à votre Info.plist :

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>googlechromes</string>
    <string>comgooglemaps</string>
</array>

La capture d'écran ci-dessous montre la configuration dans l'interface utilisateur Xcode :

Configuration de LSApplicationQueriesSchemes dans Xcode

Sans la déclaration ci-dessus, les erreurs suivantes surviennent lorsque l'utilisateur touche le logo Google sur la carte :

-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"

Pour éliminer ces erreurs, ajoutez la déclaration à votre Info.plist, comme expliqué ci-dessus.

Tester le projet de démo de SDK de Google Maps

Essayez les démos de SDK à l'aide de pod try GoogleMaps. Pour plus de détails, voir le guide sur les échantillons de code.

Effectuer une mise à niveau à partir d'une version précédente

Pour mettre à niveau un projet existant vers la version la plus récente deGoogle Maps SDK for iOS, suivez les instructions ci-dessous :

Remarque : Les versions 1.9.2 et antérieures de Google Maps SDK for iOS étaient disponibles sous la forme d'un fichier zip contenant un framework statique. Il était également possible d'installer des versions récentes à partir d'un pod CocoaPods. À partir de la version 1.10.0, Google Maps SDK for iOS peut uniquement être installé via CocoaPods.

Si vous avez précédemment installé Google Maps SDK for iOS à partir d'un fichier zip contenant un framework statique :

  1. Supprimez toutes les références au framework précédent de votre projet Xcode.
  2. Suivez les instructions de la remarque ci-dessus pour installer Google Maps SDK for iOS avec CocoaPods.
  3. Effectuez toutes les modifications qui s'imposent en raison de la mise à niveau. Voir les notes de version pour consulter la liste des modifications de chaque version.
  4. Nettoyez et régénérez votre projet en sélectionnant Product > Clean, puis Product > Build.

Si vous avez précédemment installé Google Maps SDK for iOS à partir du pod Google-Maps-iOS-SDK :

  1. Changez le nom de votre pod en GoogleMaps.
  2. Exécutez pod install.
  3. Effectuez toutes les modifications qui s'imposent en raison de la mise à niveau. Voir les notes de version pour consulter la liste des modifications de chaque version.
  4. Nettoyez et régénérez votre projet en sélectionnant Product > Clean, puis Product > Build.

Si vous avez précédemment installé Google Maps SDK for iOS à partir du pod GoogleMaps :

  1. Recherchez tout limiteur de version dans le fichier Podfile et assurez-vous de supprimer ou de mettre à jour la version afin d'obtenir la version dont vous avez besoin. Voir les notes de version pour consulter la liste des numéros de version.
  2. Exécutez pod update.
  3. Effectuez toutes les modifications qui s'imposent en raison de la mise à niveau. Voir les notes de version pour consulter la liste des modifications de chaque version.
  4. Nettoyez et régénérez votre projet en sélectionnant Product > Clean, puis Product > Build.

Envoyer des commentaires concernant…

Google Maps SDK for iOS
Google Maps SDK for iOS
Besoin d'aide ? Consultez notre page d'assistance.