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

Modèle d'URL Google Maps

Vous pouvez utiliser le modèle d'URL Google Maps pour lancer l' application Google Maps for iOS et effectuer des recherches, obtenir des itinéraires et afficher des vues de carte. Lorsque vous lancez Google Maps, votre identifiant de groupe est automatiquement envoyé au sein de la requête.

Vous n'avez pas besoin d'une clé d'API Google pour utiliser le modèle d'URL Google Maps.

Présentation

Un modèle d'URL vous permet de lancer une application iOS native à partir d'une autre application iOS ou Web. Vous pouvez définir des options dans l'URL, lesquelles seront transmises à l'application lancée. L'application Google Maps for iOS prend en charge les modèles d'URL suivants :

  • comgooglemaps:// et comgooglemaps-x-callback:// - Ces modèles vous permettent de lancer l'application Google Maps for iOS et d'effectuer l'une des actions suivantes :

    • Afficher une carte à un point géographique et avec un niveau de zoom donnés.
    • Rechercher des lieux ou des sites, et les afficher sur la carte.
    • Obtenir un itinéraire d'un lieu à un autre. Les itinéraires peuvent être obtenus dans quatre modes de transport : en voiture, à pied, à vélo et en transports publics.
    • Ajouter la navigation à votre application.
    • Jusqu'à iOS 8, exécuter un rappel lorsque l'application a terminé, en utilisant comgooglemaps-x-callback://. Les rappels sont souvent utilisés pour renvoyer l'utilisateur à l'application qui a ouvert initialement Google Maps for iOS. Notez que sous iOS 9, le système fournit automatiquement un lien « Back to » (Retour à) dans le coin gauche de la barre d'état.
  • comgooglemapsurl:// - Ce modèle vous permet de lancer l'application Google Maps for iOS à l'aide d'une URL dérivée du site Web Google Maps pour ordinateurs de bureau. Cela signifie que vous pouvez fournir à vos utilisateurs une expérience mobile native plutôt que de charger simplement le site Web Google Maps.

    • L'URL d'origine peut renvoyer à maps.google.com ou google.com/maps, ou utiliser n'importe quel domaine de pays de premier niveau valide au lieu de com. Vous pouvez également spécifier des URL de redirection goo.gl/maps.
    • Vous pouvez d'exécuter un rappel à l'aide des paramètres x-source et x-success avec le modèle d'URL comgooglemapsurl://.

Lancer l'application Google Maps for iOS et exécuter une fonction spécifique

Remarque : À partir d'iOS 9, votre application doit déclarer les modèles d'URL qu'elle ouvrira. Voir Premiers pas pour plus d'informations.

Pour lancer l'application Google Maps for iOS et exécuter éventuellement l'une des fonctions prises en charge, utilisez un modèle d'URL de la forme suivante :

comgooglemaps://?parameters

ou :

comgooglemaps-x-callback://?parameters

Les paramètres sont décrits en détail ci-après dans le présent document.

Vérifier la disponibilité de l'application Google Maps sur l'appareil

Avant de proposer l'une de ces URL à l'utilisateur dans votre application, vous devez d'abord vérifier que l'application est installée. Votre application peut vérifier que le modèle d'URL est disponible avec le code suivant :

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]];

Par exemple, pour afficher une carte de Central Park à New York, vous pouvez utiliser le code suivant :

Swift

if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {
  UIApplication.shared.openURL(URL(string:
    "comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
  print("Can't use comgooglemaps://");
}

Objective-C

if ([[UIApplication sharedApplication] canOpenURL:
     [NSURL URLWithString:@"comgooglemaps://"]]) {
  [[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
  NSLog(@"Can't use comgooglemaps://");
}

Afficher une carte

Utilisez le modèle d'URL pour afficher la carte au niveau de zoom et à la position géographique spécifiés. Vous pouvez également superposer d'autres vues sur votre carte ou afficher des images Street View.

Paramètres

Tous les paramètres suivants sont facultatifs. Si aucun paramètre n'est défini, le modèle d'URL se contentera de lancer l'application Google Maps for iOS.

  • center : Il s'agit du point central de la fenêtre d'affichage de la carte. Son format est une chaîne de latitude,longitude séparée par des virgules.
  • mapmode : Détermine le type de carte affiché. Peut être défini sur : standard ou streetview. S'il n'est pas spécifié, les paramètres de l'application actuels sont utilisés.
  • views : Active et désactive des vues spécifiques. Peut être défini sur : satellite, traffic ou transit. Il est possible de définir plusieurs valeurs à l'aide d'un séparateur de virgule. Si le paramètre est spécifié sans valeur, alors toutes les vues sont supprimées.
  • zoom : Spécifie le niveau de zoom de la carte.

Un exemple d'URL est présenté ci-dessous. Elle affiche la carte centrée sur New York à un zoom de 14 avec la vue du trafic activée :

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

Carte du trafic à New York

Voici quelques exemples supplémentaires :

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

Effectuer des recherches

Utilisez ce modèle pour afficher des requêtes de recherche pour le point géographique spécifié de la fenêtre d'affichage.

Paramètres

En plus des paramètres utilisés pour afficher une carte, la recherche prend en charge le paramètre q.

  • q : Chaîne de requête de votre recherche.

L'exemple d'URL ci-dessous recherche « Pizza » autour du point géographique spécifié :

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

Pizza à proximité

Voici quelques exemples supplémentaires :

comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA&center=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

Afficher l'itinéraire

Utilisez ce modèle pour demander et afficher l'itinéraire entre deux points géographiques. Vous pouvez également préciser le mode de transport.

Paramètres

  • saddr : Définit le point de départ des recherches d'itinéraire. Il peut s'agir d'une paire latitude,longitude ou d'une requête d'adresse formatée. S'il s'agit d'une chaîne de requête qui renvoie plusieurs résultats, le premier résultat sera sélectionné. Si la valeur n'est pas renseignée, la position actuelle de l'utilisateur sera utilisée.
  • daddr : Définit la destination des recherches d'itinéraire. Il présente un format et un comportement identiques à saddr.
  • directionsmode : Mode de transport. Peut être défini sur : driving, transit, bicycling ou walking.

L'exemple d'URL ci-dessous affiche l'itinéraire en transports en commun entre Google à New York et l'aéroport JFK :

comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

Itinéraire en transports en commun

Voici quelques exemples supplémentaires :

comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States&center=37.423725,-122.0877&directionsmode=walking&zoom=17

Spécifier une URL de rappel

Si vous souhaitez spécifier une URL de rappel, vous devez utiliser le modèle d'URL comgooglemaps-x-callback://. Ce modèle respecte la [spécification x-callback-url]. Lorsque vous appelez l'application Google Maps pour iOS avec ce modèle, l'application affiche un bouton en haut de l'écran. Toucher ce bouton exécute un rappel vers une URL que vous avez spécifiée.

Les requêtes envoyées à comgooglemaps-x-callback:// doivent avoir la forme suivante :

comgooglemaps-x-callback://?parameters

Paramètres

Le modèle d'URL x-callback accepte les mêmes paramètres que le modèle d'URL comgooglemaps://, avec les paramètres supplémentaires suivants. Ces deux paramètres sont obligatoires.

  • x-source — Nom de l'application envoyant la requête x-callback. Les noms courts sont à privilégier.
  • x-success — URL à appeler lorsqu'elle est terminée. Il s'agira souvent d'un modèle d'URL pour votre propre application, permettant aux utilisateurs de revenir à l'application d'origine.

Notez que votre application doit enregistrer son propre modèle d'URL afin de pouvoir répondre à l'URL de rappel.

  1. Assurez-vous que votre application a enregistré un modèle d'URL qui puisse répondre à la requête de rappel.
  2. Indiquez le libellé du bouton de rappel dans le paramètre x-source.
  3. Indiquez l'URL de rappel dans le paramètre x-success.

L'exemple suivant lance l'application Google Maps for iOS et affiche une carte centrée sur New York. L'application affichera également un bouton libellé « SourceApp ». Lorsque l'utilisateur clique sur le bouton « SourceApp », l'application Google Maps for iOS exécute un rappel vers un modèle d'URL fictif, sourceapp://?resume=true.

comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
   &x-success=sourceapp://?resume=true
   &x-source=SourceApp

Comme pour le modèle d'URL comgooglemaps://, vous devez d'abord vérifier que l'application Google Maps for iOS est disponible sur l'appareil et qu'elle prend en charge le modèle d'URL x-callback. Votre application peut vérifier que le modèle d'URL est disponible à l'aide du code suivant :

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemaps-x-callback://"]];

L'exemple d'URL ci-dessous permet aux utilisateurs de revenir à une application après avoir recherché un dessert.

comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135
   &x-success=sourceapp://?resume=true
   &x-source=Nom+Nom

Ajouter la navigation à votre application

En lançant l'application Google Maps for iOS avec une requête d'itinéraire, vous pouvez facilement offrir à vos utilisateurs l'accès à la navigation détaillée depuis votre application. Vous pouvez utiliser les modèles d'URL comgooglemaps:// ou comgooglemaps-x-callback://.

Remarque : Les boutons ajoutés via le paramètre x-source ne sont pas affichés dans l'interface utilisateur de navigation détaillée.

L'extrait de code ci-dessous montre comment utiliser le modèle comgooglemaps-x-callback:// pour demander des itinéraires, puis revenir à votre application lorsque l'utilisateur est prêt. Le code effectue les opérations suivantes :

  1. Il vérifie que le modèle d'URL comgooglemaps-x-callback:// est disponible.
  2. Il lance l'application Google Maps for iOS et demande l'itinéraire vers l'aéroport JFK à New York. Il ne renseigne pas l'adresse de départ afin de demander l'itinéraire depuis la position actuelle de l'utilisateur.
  3. Il ajoute un bouton libellé « AirApp » à l'application Google Maps for iOS. Le libellé du bouton est défini par le paramètre x-source.
  4. Il appelle le modèle d'URL fictif sourceapp://, lorsque l'utilisateur clique sur le bouton de retour.

Voici le code :

Swift

let testURL = URL(string: "comgooglemaps-x-callback://")!
if UIApplication.shared.canOpenURL(testURL) {
  let directionsRequest = "comgooglemaps-x-callback://" +
    "?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
    "&x-success=sourceapp://?resume=true&x-source=AirApp"

  let directionsURL = URL(string: directionsRequest)!
  UIApplication.shared.openURL(directionsURL)
} else {
  NSLog("Can't use comgooglemaps-x-callback:// on this device.")
}

Objective-C

NSURL *testURL = [NSURL URLWithString:@"comgooglemaps-x-callback://"];
if ([[UIApplication sharedApplication] canOpenURL:testURL]) {
  NSString *directionsRequest = @"comgooglemaps-x-callback://" +
      @"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
      @"&x-success=sourceapp://?resume=true&x-source=AirApp";
  NSURL *directionsURL = [NSURL URLWithString:directionsRequest];
  [[UIApplication sharedApplication] openURL:directionsURL];
} else {
  NSLog(@"Can't use comgooglemaps-x-callback:// on this device.");
}

Lancer l'application Google Maps for iOS depuis une URL de bureau Google Maps

Si votre application a accès à une URL Google Maps préexistante, comme sur une page Web ou dans une base de données, vous pouvez utiliser le modèle ci-dessous pour ouvrir l'URL dans l'application Google Maps for iOS, et offrir ainsi à vos utilisateurs la meilleure expérience native qui soit.

  1. Remplacez le modèle http:// ou https:// par comgooglemapsurl://.
  2. Si vous voulez utiliser un rappel, incluez les paramètres x-source et x-success. Ce modèle respecte la [spécification x-callback-url].

Formats d'URL Google Maps pris en charge

Le modèle comgooglemapsurl:// prend en charge les URL qui correspondent à l'expression régulière ci-dessous, où {TLD} fait référence à n'importe quel domaine de pays de premier niveau valide. Des sauts de ligne ont été ajoutés pour plus de clarté :

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

Vérifier la disponibilité de l'application Google Maps

Vérifiez d'abord que l'application Google Maps for iOS est disponible sur l'appareil et qu'elle prend en charge le modèle d'URL :

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemapsurl://"]];

Exemples

Exemple d'une URL Google Maps générique :

URL Google Maps d'origine :

https://www.google.com/maps/preview/@42.585444,13.007813,6z

Avec le modèle d'URL :

comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z

Exemple d'une URL Google Maps générique :

URL Google Maps d'origine :

https://maps.google.com/?q=@37.3161,-122.1836

Avec le modèle d'URL :

comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836

Exemple de requête d'itinéraire vers la tour de Tokyo avec x-callback :

URL Google Maps d'origine :

http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1

L'exemple suivant lance l'application Google Maps for iOS et affiche une carte avec l'itinéraire menant à la tour de Tokyo, comme spécifié dans l'URL Google Maps d'origine (ci-dessus). L'application affichera également un bouton libellé « SourceApp ». Lorsque l'utilisateur clique sur le bouton « SourceApp », l'application Google Maps for iOS exécute un rappel vers un modèle d'URL fictif, sourceapp://?resume=true.

comgooglemapsurl://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
    &x-source=SourceApp
    &x-success=sourceapp://?resume=true

Envoyer des commentaires concernant…

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