Premiers pas avec le forfait Premium sur iOS

Remarque : Il n'est plus possible de s'inscrire au forfait Premium de Google Maps Platform, qui n'est plus disponible non plus pour les nouveaux clients.

La licence correspondant au forfait Premium Google Maps Platform inclut une assistance avancée concernant le SDK Maps pour iOS. Ce document explique comment créer une application iOS qui utilise le SDK Maps pour iOS avec le forfait Premium.

Présentation

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

  1. Installez Xcode et le SDK.
  2. Obtenez une clé API.
  3. Ajoutez la clé API à votre application.
  4. Ajoutez une carte.

Installer Xcode et le SDK

Obtenir la dernière version de Xcode

Pour créer un projet à l'aide du SDK Maps pour iOS, vous avez besoin de la version 11.7 ou ultérieure de Xcode.

Installer le SDK

Utiliser CocoaPods

Le SDK Maps pour iOS est disponible en tant que 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 ci-dessous à partir du terminal. Pour plus de détails, consultez le guide de démarrage de CocoaPods.

sudo gem install cocoapods

Créez un Podfile pour le SDK Maps pour 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 et enregistrez-le sur votre machine locale. (Si vous débutez avec le développement iOS, créez un projet et sélectionnez le modèle d'application iOS. Dans Xcode version 11.7 ou antérieure, créez une application Single View.)
  2. Créez un fichier nommé Podfile dans le répertoire de votre projet. Ce fichier définit les dépendances de votre projet.
  3. Modifiez le Podfile et ajoutez vos dépendances. Voici un exemple qui inclut les dépendances dont vous avez besoin pour le SDK Maps pour iOS et pour le SDK Places pour iOS (facultatif) :
    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps'
      pod 'GooglePlaces'
    end
  4. Enregistrez le Podfile.
  5. Ouvrez un terminal et accédez au répertoire contenant le Podfile :

    cd <path-to-project>
  6. Exécutez la commande pod install. Cela installera les API spécifiées dans le Podfile, ainsi que toutes les éventuelles dépendances.

    pod install
  7. Fermez Xcode, puis ouvrez (double-cliquez) 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 GoogleMaps à votre projet et configurer les paramètres de votre build dans Xcode.

  1. Téléchargez les fichiers sources du SDK : GoogleMaps-3.10.0.
  2. Décompressez les fichiers sources.
  3. Lancez Xcode et ouvrez un projet existant ou créez-en un. Si vous débutez avec iOS, créez une application Single View. Désactivez ensuite Use Storyboards (Utiliser des storyboards) et activez Use Automatic Reference Counting (Utiliser le comptage automatique des références).
  4. Faites glisser les groupes suivants dans votre projet. Lorsque vous y êtes invité, sélectionnez Copy items if needed, please use the same version as above
      (Copier les éléments si nécessaire, utiliser la même version que ci-dessus) :
    • GoogleMaps-x.x.x/Base/Frameworks/GoogleMapsBase.framework
    • GoogleMaps-x.x.x/Maps/Frameworks/GoogleMaps.framework
    • GoogleMaps-x.x.x/Maps/Frameworks/GoogleMapsCore.framework

    Les clients du forfait Premium doivent également inclure GoogleMaps-x.x.x/M4B/Frameworks/GoogleMapsM4B.framework.

  5. Effectuez un clic droit sur GoogleMaps.framework dans votre projet, puis sélectionnez Show In Finder (Afficher dans le Finder).
  6. Faites glisser GoogleMaps.bundle du dossier Resources vers votre projet. Lorsque vous y êtes invité, vérifiez que Copy items into destination group's folder (Copier les éléments dans le dossier du groupe de destination) n'est pas sélectionné.
  7. Sélectionnez votre projet dans Project Navigator, puis choisissez la cible de votre application.
  8. Ouvrez l'onglet Build Phases (Phases de build) et, dans Link Binary with Libraries (Associer le binaire avec des bibliothèques), ajoutez les frameworks suivants :
    • GoogleMapsBase.framework
    • GoogleMaps.framework
    • GoogleMapsCore.framework
    • GoogleMapsM4B.framework (clients du forfait Premium uniquement)
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  9. Choisissez votre projet plutôt qu'une cible spécifique, et ouvrez l'onglet Build Settings (Paramètres de build). Dans la section Other Linker Flags (Autres indicateurs Linker), ajoutez -ObjC. Si ces paramètres ne sont pas visibles, modifiez le filtre dans la barre Build Settings (Paramètres de build) de Basic (De base) à All (Tous).

  10. Pour installer le SDK Places pour iOS, consultez Premiers pas avec le SDK Places pour iOS.

Obtenir une clé API

Pour authentifier votre application auprès du SDK Maps pour iOS, vous avez besoin d'une clé API restreinte à un identifiant de groupe spécifique à l'application. Cette combinaison crée une clé API restreinte à iOS.

Cliquez sur le bouton ci-dessous pour découvrir comment obtenir une clé API. Si votre projet possède déjà une clé API avec une restriction iOS, vous pouvez l'utiliser. Important : dans le menu déroulant du projet, vous devez sélectionner le projet créé pour vous lorsque vous avez acheté le forfait Premium Google Maps Platform. Le nom du projet commence par Google Maps APIs for Business, Google Maps for Work ou Google Maps.

Commencer

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

  1. Accédez à la console Google Cloud Platform.
  2. Dans le menu déroulant "Projet", sélectionnez le projet associé au forfait Premium*.
  3. Cliquez sur Continuer.
  4. Sur la page Identifiants, obtenez une clé API.
    Remarque : Si vous avez 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é API, sélectionnez Restreindre la clé pour définir une restriction iOS sur la clé API.
  6. Dans la section Restrictions, sélectionnez Applications iOS, puis saisissez l'identifiant de groupe de votre application. Par exemple : com.example.hellomap.
  7. Cliquez sur Enregistrer.

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

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Vous pouvez également rechercher une clé existante dans la console Google Cloud Platform.

Pour en savoir plus sur l'utilisation de la console Google Cloud Platform, consultez l'aide sur la console Google Cloud Platform.

Ajouter la clé API à votre application

Swift

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

  1. Ajoutez la déclaration d'importation suivante :
    import GoogleMaps
  2. Ajoutez les éléments suivants à votre méthode application(_:didFinishLaunchingWithOptions:), en remplaçant YOUR_API_KEY par votre clé API :
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. Si vous utilisez également l'API Places, ajoutez à nouveau votre clé comme indiqué ci-dessous :
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

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

  1. Ajoutez la déclaration d'importation suivante :
    @import GoogleMaps;
  2. Ajoutez les éléments suivants à votre méthode application:didFinishLaunchingWithOptions:, en remplaçant YOUR_API_KEY par votre clé API :
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. Si vous utilisez également l'API Places, ajoutez à nouveau votre clé comme indiqué ci-dessous :
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

Ajouter une carte

Le code ci-dessous montre comment ajouter une carte simple à un ViewController existant. Si vous créez une application, suivez d'abord les instructions d'installation du SDK ci-dessus, puis créez un projet et sélectionnez le modèle d'application iOS. Remarque : vous devez créer une application Single View dans la 11.7.

Ajoutez ou modifiez quelques méthodes dans le fichier ViewController par défaut de votre application pour créer et initialiser une instance de GMSMapView.

Swift

/*
 * Copyright 2020 Google Inc. All rights reserved.
 *
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */

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

/*
* Copyright 2020 Google Inc. All rights reserved.
*
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
* file except in compliance with the License. You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
* ANY KIND, either express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/

#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

      

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

En savoir plus

Exigences d'attribution

Vous devez inclure le texte d'attribution dans la section des mentions légales de votre application. Google recommande d'inclure les mentions légales dans un élément de menu indépendant ou dans une section "À propos".

Vous pouvez obtenir le texte d'attribution en appelant GMSServices.openSourceLicenseInfo().

Plates-formes compatibles

Le développement d'une application iOS avec le SDK Maps pour iOS distribué avec le forfait Premium nécessite les éléments suivants :

  • Xcode 11.7 ou version ultérieure
  • SDK iOS 11.0 ou version ultérieure

Les applications développées avec ce SDK fonctionnent sur iOS 9.0 et versions ultérieures.

Comparaison des versions

Le tableau suivant décrit les principales différences entre l'utilisation du SDK Maps standard pour iOS et l'utilisation du SDK avec le forfait Premium.

  SDK Maps standard pour iOS Forfait Premium
Canaux d'assistance Assistance de la communauté Accès à l'assistance Premium
Conditions d'utilisation Soumis aux Conditions d'utilisation de Google Maps Platform Soumis aux Conditions d'utilisation du forfait Premium de Google Maps Platform

Documentation

Le guide destiné aux développeurs et la documentation de référence disponibles sur notre site constituent la principale source d'informations sur le SDK Maps pour iOS.