Sur les appareils équipés d'iOS 9 ou version ultérieure, vous pouvez utiliser des liens universels pour lancer Google Maps lorsque 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 et effectuer des recherches, obtenir des demandes d'itinéraire et afficher des vues cartographiques. Lorsque vous lancez Google Maps, votre identifiant de lot est automatiquement envoyé dans la requête.
Vous n'avez pas besoin d'une clé API Google pour utiliser le schéma d'URL Google Maps.
Liens universels et Google Maps
Google Maps pour iOS est compatible avec les liens universels sur les appareils équipés d'iOS 9 ou version ultérieure.
Si votre URL correspond à l'expression régulière suivante et que l'appareil exécute 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 d'une application Web. Vous pouvez définir des options dans l'URL qui seront transmises à l'application lancée. L'application Google Maps pour iOS est compatible avec les schémas d'URL suivants:
comgooglemaps://
etcomgooglemaps-x-callback://
: ces schémas vous permettent de lancer l'application Google Maps pour iOS et d'effectuer l'une des actions suivantes :- Afficher une carte à un emplacement géographique et à un niveau de zoom donnés
- Recherchez des lieux et affichez-les sur une carte.
- Demander un itinéraire d'un lieu à un autre Vous pouvez obtenir des itinéraires pour quatre modes de transport: en voiture, à pied, à vélo et en transports en commun.
- Ajoutez la navigation à votre application.
- Sous iOS 8, envoyez un rappel lorsque l'application a terminé, à l'aide de
comgooglemaps-x-callback://
. Les rappels sont souvent utilisés pour renvoyer un utilisateur vers l'application qui a initialement ouvert Google Maps pour iOS. Notez que sur iOS 9, le système fournit automatiquement un lien "Retour" dans l'angle 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 dérivée du site Web Google Maps pour ordinateur. Vous pouvez ainsi offrir à vos utilisateurs une expérience mobile native plutôt que de simplement charger le site Web Google Maps.- L'URL d'origine peut être pour
maps.google.com
, pourgoogle.com/maps
ou pour n'importe quel domaine de premier niveau valide au lieu decom
. Vous pouvez également transmettre des URL de redirectiongoo.gl/maps
. - Vous pouvez envoyer un rappel à l'aide des paramètres
x-source
etx-success
avec le schéma d'URLcomgooglemapsurl://
.
- L'URL d'origine peut être pour
Lancer l'application Google Maps pour iOS et exécuter une fonction spécifique
Pour lancer l'application Google Maps pour iOS et éventuellement exécuter l'une des fonctions compatibles, utilisez un schéma 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 présenter l'une de ces URL à un utilisateur dans votre application, vous devez d'abord vérifier que l'application est installée. Votre application peut vérifier que le schéma 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 à 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 schéma d'URL lance l'application Google Maps pour iOS.
center
: point central de la vue de la carte. Formaté sous forme de chaînelatitude,longitude
séparée par une virgule.mapmode
: définit le type de carte affiché. Peut être défini surstandard
oustreetview
. Si elle n'est pas spécifiée, les paramètres d'application actuels seront utilisés.views
: active/désactive des vues spécifiques. Peut être défini sur:satellite
,traffic
outransit
. Vous pouvez définir plusieurs valeurs à l'aide d'un séparateur par virgule. Si le paramètre est spécifié sans valeur, toutes les vues sont effacées.zoom
: spécifie le niveau de zoom de la carte.
Cet exemple d'URL affiche la carte centrée sur New York au niveau de zoom 14 avec la vue du trafic activée:
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic
Voici quelques exemples supplémentaires:
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Rechercher
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, Search est compatible avec le paramètre q
.
q
: chaîne de requête de votre recherche.
Cet exemple d'URL permet de rechercher "Pizza" à proximité du lieu spécifié:
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
Voici quelques exemples supplémentaires:
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=35.660888,139.73073&zoom=15&views=transit
Affichage d'itinéraires
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 pour les recherches d'itinéraires. Il peut s'agir d'une latitude,d'une longitude ou d'une adresse au format de requête. S'il s'agit d'une chaîne de requête qui renvoie plusieurs résultats, le premier résultat est sélectionné. Si la valeur est laissée vide, la position actuelle de l'utilisateur est utilisée.daddr
: définit le point de terminaison pour les recherches d'itinéraires. Possède le même format et le même comportement quesaddr
.directionsmode
: moyen de transport. Peut être défini surdriving
,transit
,bicycling
ouwalking
.
L'exemple d'URL affiche les itinéraires en transports en commun entre 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
Voici quelques exemples supplémentaires:
comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA¢er=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¢er=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 schéma d'URL comgooglemaps-x-callback://
. Ce schéma respecte la spécification x-callback-url. Lorsque vous appelez l'application Google Maps pour iOS avec ce schéma, un bouton s'affiche en haut de l'écran. Appuyer sur ce bouton génère un rappel vers une URL que vous avez spécifiée.
Les requêtes envoyées à comgooglemaps-x-callback://
doivent se présenter sous la forme suivante:
comgooglemaps-x-callback://?parameters
Paramètres
Le schéma d'URL x-callback accepte les mêmes paramètres que le schéma d'URL comgooglemaps://
, avec les paramètres supplémentaires suivants. Les deux paramètres sont obligatoires.
x-source
: nom de l'application qui envoie la requête x-callback. Les noms courts sont à privilégier.x-success
: URL à appeler une fois l'opération terminée. Il s'agit souvent d'un schéma d'URL pour votre propre application, qui permet aux utilisateurs de revenir à l'application d'origine.
Notez que votre application devra enregistrer son propre schéma d'URL afin de pouvoir répondre à l'URL de rappel.
- Assurez-vous que votre application a enregistré un schéma d'URL pouvant répondre à la requête de rappel.
- Transmettez l'étiquette du bouton de rappel dans le paramètre
x-source
. - 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ée sur New York. L'application affiche également un bouton intitulé "SourceApp".
Lorsque l'utilisateur clique sur le bouton "SourceApp", l'application Google Maps pour iOS émet un rappel vers 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 qu'elle prend en charge le schéma d'URL x-callback. Votre application peut vérifier que le schéma d'URL est disponible avec le code suivant:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps-x-callback://"]];
Il s'agit d'un exemple d'URL permettant aux utilisateurs de revenir dans une application après avoir recherché un dessert.
comgooglemaps-x-callback://?q=dessert¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
Ajouter la navigation à votre application
Lancer l'application Google Maps pour iOS avec une requête d'itinéraire est un moyen simple d'offrir à vos utilisateurs un accès à 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 demander un itinéraire, puis revenir à votre application lorsque votre utilisateur est prêt. Le code effectue les opérations suivantes:
- Vérifiez que le schéma d'URL
comgooglemaps-x-callback://
est disponible. - Lancez l'application Google Maps pour iOS et demandez un itinéraire vers l'aéroport JFK à New York. Laissez l'adresse de départ vide pour demander un itinéraire à partir de la position actuelle de l'utilisateur.
- Ajoutez un bouton intitulé "AirApp" à l'application Google Maps pour iOS. Le libellé du bouton est défini par le paramètre
x-source
. - 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, par exemple sur 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, offrant ainsi à vos utilisateurs la meilleure expérience native.
- Remplacez le schéma
http://
ouhttps://
parcomgooglemapsurl://
. - Si vous souhaitez utiliser un rappel, incluez les paramètres
x-source
etx-success
. Ce schéma respecte la spécification x-callback-url.
Formats d'URL Google Maps acceptés
Le schéma comgooglemapsurl://
accepte les URL qui correspondent à cette expression régulière, où {TLD}
fait référence à n'importe quel domaine de premier niveau de pays valide. Des sauts de ligne 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 d'abord que l'application Google Maps pour iOS est disponible sur l'appareil et qu'elle 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 avec un itinéraire vers la Tokyo Tower, comme indiqué dans l'URL Google Maps d'origine (ci-dessus). L'application affiche également un bouton intitulé "SourceApp". Lorsque l'utilisateur clique sur le bouton "SourceApp", l'application Google Maps pour iOS émet 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