Google Maps Mobile SDK for Work antérieur : iOS

Pour les clients possédant une version antérieure de Google Maps APIs for Work ou une licence Google Maps API for Business, Google Maps SDK for iOS est fourni avec Google Maps Mobile SDK for Work. Cette section de la documentation décrit la configuration de ce SDK.

Cette page concerne uniquement les clients qui possèdent une ancienne licence Maps APIs for Work ou Maps API for Business. Cette page ne s'applique pas aux clients qui disposent du nouveau Google Maps APIs Premium Plan, sorti en janvier 2016.

Présentation

Suivez les instructions sur cette page pour télécharger le SDK, configurer votre projet et ajouter une carte. Voici un résumé des étapes requises :

  1. Téléchargez le SDK.
  2. Ajoutez votre clé d'API à votre AppDelegate.
  3. Ajoutez une carte.

Télécharger le SDK

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.

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.

Obtenir une clé d'API et l'ajouter à votre application

Pour authentifier votre application vis-à-vis de Google Maps SDK for iOS, vous avez besoin d'une clé d'API restreinte à un identifiant de groupe spécifique à votre application. Cette combinaison crée une clé d'API restreinte à iOS.

Votre clé d'API vous identifie en tant que client Google Maps Mobile SDK for Work et vous permet d'acheter des quotas et de bénéficier du support pour votre application. Vous pouvez générer une clé d'API sur un compte pour lequel le service Google Maps Mobile SDK est activé en enregistrant le nom de package de votre application.

Vérifier que votre compte est activé pour le

service Google Maps Mobile SDK

L'équipe Google Cloud Support active le service Google Maps Mobile SDK lorsque vous vous inscrivez pour Google Maps Mobile SDK for Work. Le service est activé sur un nouveau projet.

Remarque : Seul le propriétaire initial du projet peut voir le service Google Maps Mobile SDK. Pour demander à ce que d'autres propriétaires soient autorisés à voir le service, soumettez une demande non technique à Google Cloud Support Portal.

Vérifiez comme suit que votre compte a été activé pour la ou les API requises :

  1. Accédez à Google API Console et connectez-vous à l'aide de votre compte Google.
  2. Sélectionnez le projet Google Maps Mobile SDK for Work qui a été créé pour vous lorsque vous avez commandé Google Maps Mobile SDK for Work. Le nom du projet commence par Google Maps APIs for Business or Google Maps for Work or Google Maps. Si vous n'avez pas encore acheté l'accès au SDK, contactez l'[équipe commerciale].
  3. Dans la liste APIs du Dashboard, vérifiez que Google Maps Mobile SDK est activé.

Obtenir une clé d'API depuis la Google API Console

Une fois le service Google Maps Mobile SDK for Work activé pour votre projet, vous devez générer une nouvelle clé d'API.

  1. Accédez à la page Credentials de Google API Console et connectez-vous à l'aide de votre compte Google.
  2. Sélectionnez le projet Google Maps Mobile SDK for Work qui a été créé pour vous lorsque vous avez commandé Google Maps Mobile SDK for Work. Le nom du projet commence par Google Maps APIs for Business or Google Maps for Work or Google Maps. Si vous n'avez pas encore acheté l'accès au SDK, contactez l'[équipe commerciale].
  3. Dans la liste API keys, recherchez une clé indiquant iOS restriction.
  4. Si votre projet ne dispose pas encore de clé d'API restreinte à iOS, créez-en une maintenant en sélectionnant Create credentials > API key.
  5. Dans la boîte de dialogue qui s'affiche, sélectionnez Restrict key.
  6. Dans la section Restrictions, sélectionnez iOS apps, puis saisissez un ou plusieurs identifiants de groupe d'applications. Par exemple : com.example.hellomap.
  7. Cliquez sur Save.

    Votre nouvelle clé d'API iOS apparaît 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

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"];

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.

Plus d'infos

Google Places API for iOS

Vous êtes libre d'utiliser Google Places API for iOS dans votre projet, mais cette API n'est pas couverte par votre licenceGoogle Maps Mobile SDK for Work. Cela signifie que Google Places API for iOS n'est pas couvert par le support amélioré ni le contrat SLA acheté avec la licence Google Maps Mobile SDK for Work. Toute utilisation est donc soumise aux conditions de service de l'API gratuite et ne sera pas prise en compte dans votre quota Google Maps Mobile SDK for Work. Pour plus d'informations sur l'activation de Google Places API for iOS, veuillez contacter votre représentant Google.

Conditions requises liées aux mentions

Vous devez inclure le texte de la mention dans la section des mentions légales de votre application. Google recommande d'inclure les mentions légales dans un élément de menu distinct, ou de les intégrer à l'élément de menu « À propos de ».

Le texte de la mention est disponible en appelant GMSServices.openSourceLicenseInfo().

Plateformes prises en charge

Pour développer une application iOS avec le Google Maps SDK for iOS fourni avec Google Maps Mobile SDK for Work, vous avez besoin des éléments suivants :

  • Xcode 7.3 ou version ultérieure.
  • iOS SDK 8.0 ou version ultérieure.

Les applications développées avec ce SDK fonctionneront sur iOS 7.0 et les versions ultérieures.

Comparer les versions

Le tableau suivant décrit les principales différences entre l'utilisation de la version standard de Google Maps SDK for iOS et l'utilisation du SDK avec Google Maps Mobile SDK for Work.

  Google Maps SDK for iOS Standard Google Maps Mobile SDK for Work
Types de support Support de la communauté. Accès au support Premium.
Conditions Soumis aux Conditions de service de Google Maps API/Google Earth API. Soumis aux conditions d'utilisation de Google Maps Mobile SDK for Work.

Documentation

Le Guide du développeur et la documentation de référence disponibles sur notre site constituent la principale source d'informations sur Google Maps SDK for iOS.