Auf Geräten mit iOS 9 oder höher können Sie universelle Links verwenden, um Google Maps zu starten, wenn Sie eine Google Maps-URL haben.
Mit dem Google Maps-URL-Schema können Sie die Google Maps App für iOS starten und Suchanfragen ausführen, Wegbeschreibungen abrufen und Kartenansichten anzeigen. Wenn Sie Google Maps starten, wird Ihre Bundle-ID automatisch als Teil der Anfrage gesendet.
Sie benötigen keinen Google-API-Schlüssel, um das Google Maps-URL-Schema zu verwenden.
Universelle Links und Google Maps
Google Maps für iOS unterstützt universelle Links auf Geräten mit iOS 9 oder höher.
Wenn Ihre URL dem folgenden regulären Ausdruck entspricht und auf dem Gerät iOS 9 oder höher ausgeführt wird, sollten Sie die Methode „openURL:“ direkt verwenden.
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Beispiel:
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"]];
Übersicht
Mit einem URL-Schema können Sie eine native iOS-App über eine andere iOS-App oder eine Webanwendung starten. Sie können Optionen in der URL festlegen, die an die gestartete Anwendung übergeben werden. Die Google Maps App für iOS unterstützt die folgenden URL-Schemas:
comgooglemaps://
undcomgooglemaps-x-callback://
: Mit diesen Schemas können Sie die Google Maps App für iOS starten und eine von mehreren Aktionen ausführen:- Anzeigen einer Karte für einen angegebenen Standort mit einer bestimmten Zoomstufe
- Suchen und Anzeigen von Orten auf einer Karte
- Anfordern einer Route von einem Ort zu einem anderen. Wegbeschreibungen können für vier Transportmittel zurückgegeben werden: Auto, Fußweg, Fahrrad und öffentliche Verkehrsmittel.
- Fügen Sie Ihrer App eine Navigation hinzu.
- Unter iOS 8 wird ein Callback ausgegeben, wenn die App abgeschlossen ist, indem
comgooglemaps-x-callback://
verwendet wird. Callbacks werden häufig verwendet, um einen Nutzer zur App zurückzubringen, die Google Maps für iOS ursprünglich geöffnet hat. Unter iOS 9 wird in der linken Ecke der Statusleiste automatisch ein Link „Zurück zu“ angezeigt.
comgooglemapsurl://
: Mit diesem Schema können Sie die Google Maps App für iOS über eine URL starten, die von der Desktop-Website von Google Maps abgeleitet wird. So können Sie Ihren Nutzern eine native mobile Umgebung bieten, anstatt einfach die Google Maps-Website zu laden.- Die ursprüngliche URL kann für
maps.google.com
oder fürgoogle.com/maps
sein oder eine beliebige gültige Top-Level-Domain des Landes anstelle voncom
verwenden. Sie können auchgoo.gl/maps
-Weiterleitungs-URLs übergeben. - Sie können einen Callback mit den Parametern
x-source
undx-success
mit dem URL-Schemacomgooglemapsurl://
ausgeben.
- Die ursprüngliche URL kann für
Die Google Maps App für iOS wird gestartet und eine bestimmte Funktion wird ausgeführt.
Wenn Sie die Google Maps App für iOS starten und optional eine der unterstützten Funktionen ausführen möchten, verwenden Sie ein URL-Schema in folgender Form:
comgooglemaps://?parameters
oder
comgooglemaps-x-callback://?parameters
Die Parameter werden an anderer Stelle in diesem Dokument ausführlicher beschrieben.
Verfügbarkeit der Google Maps App auf dem Gerät prüfen
Bevor Sie einem Nutzer in Ihrer App eine dieser URLs präsentieren, sollten Sie zuerst prüfen, ob die Anwendung installiert ist. Ihre App kann mit dem folgenden Code prüfen, ob das URL-Schema verfügbar ist:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]];
Wenn Sie beispielsweise eine Karte des Central Park in New York anzeigen möchten, können Sie den folgenden Code verwenden:
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://");
}
Eine Karte anzeigen
Verwenden Sie das URL-Schema, um die Karte an einem bestimmten Standort mit einer definierten Vergrößerungsstufe anzuzeigen. Sie können über Ihrer Karte andere Ansichten oder Street View-Bilder darstellen.
Parameter
Alle nachstehenden Parameter sind optional. Wenn keine Parameter festgelegt sind, wird mit dem URL-Schema die Google Maps App für iOS gestartet.
center
: Dies ist der Mittelpunkt des Karten-Viewports. Als kommagetrennter String vonlatitude,longitude
formatiert.mapmode
: Legt den Typ der angezeigten Karte fest. Kann aufstandard
oderstreetview
festgelegt werden. Wenn nicht angegeben, werden die aktuellen Anwendungseinstellungen verwendet.views
: Hiermit werden bestimmte Ansichten aktiviert oder deaktiviert. Mögliche Werte:satellite
,traffic
odertransit
. Sie können mehrere Werte festlegen, indem Sie sie durch Kommas trennen. Wenn der Parameter ohne Wert angegeben wird, werden alle Ansichten gelöscht.zoom
: Gibt die Zoomstufe der Karte an.
In dieser Beispiel-URL wird die Karte mit New York als Mittelpunkt und Zoomstufe 14 angezeigt. Die Verkehrsübersicht ist aktiviert:
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic
Hier einige weitere Beispiele:
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Suchen
Verwenden Sie dieses Schema zum Anzeigen von Suchanfragen für einen angegebenen Standort des Darstellungsbereichs.
Parameter
Zusätzlich zu den Parametern, die zum Anzeigen einer Karte verwendet werden, unterstützt die Suche den Parameter q
.
q
: Der Abfragestring für Ihre Suche.
Beispiel-URL für die Suche nach „Pizza“ in der angegebenen Region:
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
Hier einige weitere Beispiele:
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
Routen werden angezeigt
Verwenden Sie dieses Schema, um Wegbeschreibungen zwischen zwei Standorten anzufordern und anzuzeigen. Auch die Mobilitätsform können Sie angeben.
Parameter
saddr
: Legt den Startpunkt für die Routensuche fest. Das kann ein Breiten- und Längengrad oder eine als Suchanfrage formatierte Adresse sein. Wenn es sich um einen Abfragestring handelt, der mehr als ein Ergebnis zurückgibt, wird das erste Ergebnis ausgewählt. Wenn der Wert leer gelassen wird, wird der aktuelle Standort des Nutzers verwendet.daddr
: Legt den Endpunkt für die Routensuche fest. Hat dasselbe Format und Verhalten wiesaddr
.directionsmode
: Transportmittel. Kann aufdriving
,transit
,bicycling
oderwalking
festgelegt werden.
Die Beispiel-URL zeigt die Wegbeschreibung mit öffentlichen Verkehrsmitteln zwischen Google NYC und dem Flughafen JFK:
comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit
Hier einige weitere Beispiele:
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
Callback-URL angeben
Wenn Sie eine Callback-URL angeben möchten, müssen Sie das comgooglemaps-x-callback://
-URL-Schema verwenden. Dieses Schema entspricht der x-callback-url-Spezifikation. Wenn Sie die Google Maps App für iOS mit diesem Schema aufrufen, wird oben auf dem Bildschirm eine Schaltfläche angezeigt. Wenn Nutzer auf diese Schaltfläche tippen, wird ein Callback an eine von Ihnen angegebene URL gesendet.
Anfragen an comgooglemaps-x-callback://
müssen das folgende Format haben:
comgooglemaps-x-callback://?parameters
Parameter
Das x-callback-URL-Schema akzeptiert dieselben Parameter wie das comgooglemaps://
-URL-Schema, mit den folgenden zusätzlichen Parametern. Beide Parameter sind erforderlich.
x-source
: Der Name der Anwendung, die die x-callback-Anfrage sendet. Kurze Namen werden bevorzugt.x-success
: Die URL, die aufgerufen werden soll, wenn der Vorgang abgeschlossen ist. Häufig ist dies ein URL-Schema für Ihre eigene App, damit Nutzer zur ursprünglichen Anwendung zurückkehren können.
Ihre App muss ihr eigenes URL-Schema registrieren, damit sie auf die Callback-URL reagieren kann.
- Ihre Anwendung muss ein URL-Schema registriert haben, das auf die Callback-Anfrage reagieren kann.
- Übergeben Sie das Label für die Callback-Schaltfläche im Parameter
x-source
. - Übergeben Sie die Callback-URL im Parameter
x-success
.
Im folgenden Beispiel wird die Google Maps App für iOS gestartet und eine Karte mit New York als Mittelpunkt angezeigt. In der App wird auch eine Schaltfläche mit dem Label „SourceApp“ angezeigt.
Wenn auf die Schaltfläche „SourceApp“ geklickt wird, sendet die Google Maps App für iOS einen Callback an ein fiktives URL-Schema, sourceapp://?resume=true
.
comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
&x-success=sourceapp://?resume=true
&x-source=SourceApp
Wie beim comgooglemaps://
-URL-Schema sollten Sie zuerst prüfen, ob die Google Maps App für iOS auf dem Gerät verfügbar ist und das x-callback-URL-Schema unterstützt. Ihre App kann mit dem folgenden Code prüfen, ob das URL-Schema verfügbar ist:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps-x-callback://"]];
Hier sehen Sie ein Beispiel für eine URL, über die Nutzer nach der Suche nach „Dessert“ zur App zurückkehren können.
comgooglemaps-x-callback://?q=dessert¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
Navigation in Ihre App einfügen
Wenn Sie die Google Maps App für iOS mit einer Anfrage für eine Wegbeschreibung starten, können Sie Ihren Nutzern ganz einfach eine detaillierte Routenführung in Ihrer App anbieten. Sie können entweder das comgooglemaps://
- oder das comgooglemaps-x-callback://
-URL-Schema verwenden.
Dieses Code-Snippet zeigt, wie Sie das comgooglemaps-x-callback://
-Schema verwenden, um eine Wegbeschreibung anzufordern und dann zu Ihrer App zurückzukehren, wenn der Nutzer bereit ist. Der Code führt Folgendes aus:
- Prüfen Sie, ob das
comgooglemaps-x-callback://
-URL-Schema verfügbar ist. - Starten Sie die Google Maps App für iOS und rufen Sie eine Wegbeschreibung zum JFK Airport in New York City auf. Lassen Sie die Startadresse leer, um eine Wegbeschreibung vom aktuellen Standort des Nutzers abzurufen.
- Fügen Sie der Google Maps App für iOS eine Schaltfläche mit der Bezeichnung „AirApp“ hinzu. Die Schaltflächenbeschriftung wird durch den Parameter
x-source
definiert. - Rufen Sie das fiktive URL-Schema
sourceapp://
auf, wenn der Nutzer auf die Schaltfläche „Zurück“ klickt.
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.");
}
Google Maps App für iOS über eine Google Maps-Desktop-URL starten
Wenn Ihre App Zugriff auf eine vorhandene Google Maps-URL hat, z. B. auf einer Webseite oder in einer Datenbank, können Sie dieses Schema verwenden, um die URL in der Google Maps App für iOS zu öffnen und Ihren Nutzern so die bestmögliche native Erfahrung zu bieten.
- Ersetzen Sie das
http://
- oderhttps://
-Schema durchcomgooglemapsurl://
. - Wenn Sie einen Callback verwenden möchten, fügen Sie die Parameter
x-source
undx-success
ein. Dieses Schema entspricht der x-callback-url-Spezifikation.
Unterstützte Google Maps-URL-Formate
Das comgooglemapsurl://
-Schema unterstützt URLs, die mit diesem regulären Ausdruck übereinstimmen, wobei {TLD}
für eine beliebige gültige Top-Level-Länderdomain steht. Die Zeilenumbrüche dienen hier der Übersichtlichkeit:
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Verfügbarkeit der Google Maps App prüfen
Prüfen Sie zuerst, ob die Google Maps App für iOS auf dem Gerät verfügbar ist und das URL-Schema unterstützt:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemapsurl://"]];
Beispiele
Beispiel für eine allgemeine Google Maps-URL:
Ursprüngliche Google Maps URL:
https://www.google.com/maps/preview/@42.585444,13.007813,6z
Mit URL-Schema:
comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z
Beispiel für eine allgemeine Google Maps-URL:
Ursprüngliche Google Maps URL:
https://maps.google.com/?q=@37.3161,-122.1836
Mit URL-Schema:
comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836
Beispiel für eine Anfrage nach einer Wegbeschreibung zum Tokyo Tower mit x-callback:
Ursprüngliche Google Maps URL:
http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
Im folgenden Beispiel wird die Google Maps App für iOS gestartet und eine Karte mit einer Wegbeschreibung zum Tokyo Tower angezeigt, wie in der ursprünglichen Google Maps-URL (oben) angegeben. In der App wird auch eine Schaltfläche mit dem Label „SourceApp“ angezeigt. Wenn auf die Schaltfläche „SourceApp“ geklickt wird, sendet die Google Maps App für iOS einen Callback an ein fiktives URL-Schema, 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