Schéma d'URL Google Maps pour iOS

Sur les appareils équipés d'iOS 9 ou version ultérieure, vous pouvez utiliser Les liens universels, qui permettent de lancer Maps si vous disposez d'une URL Google Maps.

Vous pouvez utiliser le schéma d'URL Google Maps pour lancer l'application Google Maps pour iOS, effectuer des recherches, obtenir un itinéraire ; de requêtes, et d'afficher des vues de carte. Lorsque vous lancez Google Maps, votre forfait est automatiquement envoyé avec la requête.

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

Compatibilité de Google Maps pour iOS Universel Associations sur les appareils exécutant iOS 9 ou une version ultérieure

Si votre URL correspond à l'expression régulière suivante et que l'appareil est en cours d'exécution iOS 9 ou version ultérieure, vous pouvez envisager d'utiliser directement la méthode openURL:.

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

Par exemple,

Swift

UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!)

Objective-C

[[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"https://www.google.com/maps/@42.585444,13.007813,6z"]];

Présentation

Un schéma d'URL vous permet de lancer une application iOS native à partir d'une autre application iOS ou une application Web. Vous pouvez définir des options dans l'URL qui sera transmise à l'application lancée. L'application Google Maps pour iOS est compatible avec l'URL suivante : systèmes:

  • comgooglemaps:// et comgooglemaps-x-callback:// : ces schémas vous permettent de lancer l'application Google Maps pour iOS et d'effectuer l'une actions:

    • afficher une carte à un point géographique et à un niveau de zoom donnés ;
    • Recherchez des lieux ou des lieux, et affichez-les sur une carte.
    • Demander un itinéraire d'un lieu à un autre Les itinéraires peuvent être renvoyés pour quatre modes de transport: la voiture, la marche, le vélo et le transport public en transports en commun.
    • Ajoutez des fonctionnalités de navigation à votre application.
    • Via iOS 8, émettez un rappel lorsque l'application est terminée, en utilisant comgooglemaps-x-callback:// Les rappels sont souvent utilisés pour renvoyer l'utilisateur vers l'application qui a initialement ouvert Google Maps pour iOS. Notez que sous iOS 9, le système propose automatiquement dans le coin gauche de la barre d'état.
  • comgooglemapsurl:// : ce schéma vous permet de lancer l'application Google Maps. pour iOS à l'aide d'une URL issue du site Web de Google Maps pour ordinateur. Cela signifie d'offrir à vos utilisateurs une expérience mobile native, au lieu lors du chargement du site Web Google Maps.

    • L'URL d'origine peut correspondre à maps.google.com ou google.com/maps, ou utiliser un domaine de pays de premier niveau valide au lieu de com. Vous pouvez également transmettre des URL de redirection goo.gl/maps.
    • Vous pouvez émettre un rappel à l'aide de x-source et x-success. avec le schéma d'URL comgooglemapsurl://.

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

Pour lancer l'application Google Maps pour iOS et éventuellement effectuer l'une des opérations compatibles, utilisez un schéma d'URL au format suivant:

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érification de la disponibilité de l'application Google Maps sur l'appareil...

Avant de présenter l'une de ces URL à un utilisateur de votre application, vous devez d'abord pour vérifier que l'application est bien installée. Votre application peut vérifier que l'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 les 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, la Schéma d'URL lancera l'application Google Maps pour iOS.

  • center: point central de la fenêtre d'affichage de la carte. Formatée en tant que virgule chaîne séparée de latitude,longitude.
  • mapmode: définit le type de carte affichée. Peut être défini sur: standard ou streetview Si vous n'indiquez aucune valeur, les paramètres actuels de l'application seront utilisé.
  • views: active ou désactive des vues spécifiques. Peut être défini sur: satellite, traffic ou transit. Vous pouvez définir plusieurs valeurs à l'aide d'un par une virgule. Si le paramètre est spécifié sans valeur, il effacer toutes les vues.
  • zoom: spécifie le niveau de zoom de la carte.

Cet exemple d'URL affiche la carte centrée sur New York au zoom 14 avec le Vue Trafic sur:

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

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 est compatible avec les q .

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

Cet exemple d'URL pour rechercher "Pizza" autour du lieu spécifié:

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

Pizzeria à 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

Affichage de 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 une latitude,longitude ou une adresse au format de requête. S'il s'agit d'une requête chaîne qui renvoie plusieurs résultats, le premier résultat est sélectionnée. Si vous ne renseignez pas cette valeur, la position actuelle de l'utilisateur sera utilisé.
  • daddr: définit le point d'arrivée des recherches d'itinéraire. Contient le même format et comportement que saddr.
  • directionsmode: moyen de transport. Peut être défini sur: driving, transit, bicycling ou walking.

L'exemple d'URL affiche les itinéraires en transports en commun entre le Google NYC 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 la méthode Schéma d'URL comgooglemaps-x-callback://. Ce schéma respecte Spécification x-callback-url Lorsque vous appelez l'application Google Maps pour iOS avec ce schéma, l'application affichera un bouton en haut de l'écran. Appuyer sur ce bouton permet de rappeler une URL que vous avez spécifié.

Les requêtes envoyées à comgooglemaps-x-callback:// doivent respecter le format suivant:

comgooglemaps-x-callback://?parameters

Paramètres

Le schéma d'URL de rappel X accepte les mêmes paramètres que comgooglemaps://. Schéma d'URL, avec les paramètres supplémentaires suivants. Les deux paramètres sont obligatoire.

  • x-source : nom de l'application envoyant le rappel x. requête. Les noms courts sont à privilégier.
  • x-success : URL à appeler une fois l'opération terminée. Souvent, cela être un schéma d'URL pour votre propre application, ce qui permet aux utilisateurs de revenir à la version d'origine. application.

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

  1. Assurez-vous que votre application a enregistré un schéma d'URL capable de répondre à la demande de rappel.
  2. Transmettez l'étiquette du bouton de rappel dans le paramètre x-source.
  3. Transmettez l'URL de rappel dans le paramètre x-success.

L'exemple suivant lance l'application Google Maps pour iOS et affiche une carte centré sur New York. L'application affichera également un bouton intitulé "SourceApp". Lorsque le « SourceApp » l'utilisateur clique sur le bouton, l'application Google Maps pour iOS un rappel à un schéma 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 schéma d'URL comgooglemaps://, vous devez d'abord vérifier que l'application Google Maps pour iOS est disponible sur l'appareil et prend en charge le schéma d'URL "x-callback". Votre application peut vérifier que le schéma d'URL est disponible par le code suivant:

Swift

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

Objective-C

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

Voici un exemple d'URL qui permet aux utilisateurs de revenir à une application après avoir recherché 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 pour iOS avec une demande d'itinéraire, vous pouvez facilement permettre à vos utilisateurs d'accéder à la navigation détaillée depuis votre application. Vous pouvez utiliser les schémas d'URL comgooglemaps:// ou comgooglemaps-x-callback://.

Cet extrait de code montre comment utiliser le schéma comgooglemaps-x-callback:// pour obtenir un itinéraire, puis retourner dans votre application lorsque l'utilisateur est prêt. La effectue les opérations suivantes:

  1. Vérifiez que le schéma d'URL comgooglemaps-x-callback:// est disponible.
  2. Lancez l'application Google Maps pour iOS et demandez l'itinéraire vers l'aéroport JFK dans à New York. Laissez l'adresse de départ vide pour demander un itinéraire à partir du l'emplacement actuel de l'utilisateur.
  3. Ajoutez un bouton intitulé "AirApp" dans l'application Google Maps pour iOS. Bouton Le libellé est défini par le paramètre x-source.
  4. Appelez le schéma d'URL fictif sourceapp:// lorsque l'utilisateur clique sur le bouton Retour.

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 pour iOS à partir d'une URL Google Maps pour ordinateur

Si votre application a accès à une URL Google Maps préexistante, comme une page Web ou dans une base de données, vous pouvez utiliser ce schéma pour ouvrir l'URL dans l'application Google Maps pour iOS, et ainsi offrir à vos utilisateurs la meilleure expérience native.

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

Formats d'URL Google Maps compatibles

Le schéma comgooglemapsurl:// accepte les URL qui correspondent à ce , où {TLD} désigne tout domaine de pays de premier niveau valide. Courbe des sauts sont ajoutés pour plus de clarté:

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

Vérification de la disponibilité de l'application Google Maps...

Vérifiez tout d'abord que l'application Google Maps pour iOS est disponible sur l'appareil. est compatible avec le schéma d'URL:

Swift

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

Objective-C

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

Exemples

Exemple d'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'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 pour iOS et affiche une carte contenant l'itinéraire vers la tour de Tokyo, tel qu'indiqué dans l'URL Google Maps d'origine (voir ci-dessus). L'application affiche également un bouton intitulé "SourceApp". Lorsque le « SourceApp » sur lequel l'utilisateur clique, l'application Google Maps pour iOS va émettre un rappel vers un schéma 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