Auf Geräten mit iOS 9 und höher können Sie Google Maps über universelle Links starten, wenn Sie eine Google Maps-URL haben.
Sie können das Google Maps-URL-Schema verwenden, um die Google Maps App für iOS zu starten und damit Suchanfragen auszuführen, Wegbeschreibungen abzurufen und Kartenansichten aufzurufen. 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, können Sie auch direkt die Methode openURL: 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-Anwendung aus einer anderen iOS-App oder einer 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 kannst du die Google Maps App für iOS starten und eine der folgenden 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 Verkehrsmittel zurückgegeben werden: Auto, zu Fuß, Fahrrad und öffentliche Verkehrsmittel.
- Fügen Sie Ihrer App eine Navigation hinzu.
- Über iOS 8 kannst du mit
comgooglemaps-x-callback://
einen Callback ausgeben, wenn die App abgeschlossen ist. Callbacks werden häufig verwendet, um einen Nutzer zu der App zurückzugeben, die Google Maps für iOS ursprünglich geöffnet hat. Beachten Sie, dass unter iOS 9 automatisch ein Link „Zurück zu“ in der linken Ecke der Statusleiste angezeigt wird.
comgooglemapsurl://
: Mit diesem Schema können Sie die Google Maps App für iOS mit einer URL starten, die von der Google Maps-Website für Computer abgeleitet ist. Das bedeutet, dass Sie Nutzern eine native mobile Nutzung bieten können, anstatt nur die Google Maps-Website zu laden.- Die ursprüngliche URL kann für
maps.google.com
odergoogle.com/maps
verwendet werden oder eine gültige Top-Level-Länderdomain anstelle voncom
verwenden. Sie können auchgoo.gl/maps
-Weiterleitungs-URLs übergeben. - Sie können einen Callback mithilfe der Parameter
x-source
undx-success
mit dem URL-Schemacomgooglemapsurl://
ausgeben.
- Die ursprüngliche URL kann für
Google Maps App für iOS starten und eine bestimmte Funktion ausführen
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 Anwendung eine dieser URLs anzeigen, sollten Sie prüfen, ob die Anwendung installiert ist. Ihre Anwendung 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. Sind keine Parameter festgelegt, wird über das URL-Schema die Google Maps App für iOS gestartet.
center
: Das ist der Mittelpunkt des Darstellungsbereichs der Karte. Als durch Kommas getrennter Stringlatitude,longitude
formatiert.mapmode
: Legt die Art der angezeigten Karte fest. Folgendes kann festgelegt werden:standard
oderstreetview
. Wenn nicht angegeben, werden die aktuellen Anwendungseinstellungen verwendet.views
: Aktiviert/deaktiviert bestimmte Ansichten. Mögliche Werte:satellite
,traffic
odertransit
. Mit einem Kommatrennzeichen können mehrere Werte festgelegt werden. Wenn der Parameter ohne Wert angegeben ist, werden alle Ansichten gelöscht.zoom
: Gibt die Zoomstufe der Karte an.
Mit dieser Beispiel-URL wird die Karte von New York bei Zoomstufe 14 mit eingeschalteter Verkehrsansicht angezeigt:
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic
Hier einige zusätzliche Beispiele:
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Suche
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 Google Suche den Parameter q
.
q
: Der Abfragestring für Ihre Suche.
Beispiel-URL für die Suche nach „Pizza“ in der Nähe des angegebenen Standorts:
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
Hier einige zusätzliche 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
Wegbeschreibungen anzeigen
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 Suche nach einer Route fest. Dies kann ein Breiten- und Längengrad oder eine Adresse im Abfrageformat sein. Bei einem Abfragestring, 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 Suche nach einer Route fest. Format und Verhalten sind mitsaddr
identisch.directionsmode
: Verkehrsmittel. Folgendes kann festgelegt werden:driving
,transit
,bicycling
oderwalking
.
Die Beispiel-URL zeigt Wegbeschreibungen für öffentliche Verkehrsmittel zwischen Google NYC und dem Flughafen JFK an:
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 zusätzliche 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 URL-Schema comgooglemaps-x-callback://
verwenden. Dieses Schema entspricht der Spezifikation für x-callback-url. Wenn Sie die Google Maps App für iOS mit diesem Schema aufrufen, wird oben auf dem Bildschirm eine Schaltfläche angezeigt. Wenn Sie auf diese Schaltfläche tippen, wird ein Callback an eine von Ihnen angegebene URL ausgelöst.
Anfragen an die comgooglemaps-x-callback://
müssen folgendes Format haben:
comgooglemaps-x-callback://?parameters
Parameter
Für das Schema der x-Callback-URL sind die gleichen Parameter wie für das URL-Schema comgooglemaps://
mit den folgenden zusätzlichen Parametern zulässig. 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 nach Abschluss des Vorgangs aufgerufen wird. Oft ist dies ein URL-Schema für Ihre eigene Anwendung, mit dem Nutzer zur ursprünglichen Anwendung zurückkehren können.
Beachten Sie, dass Ihre Anwendung ihr eigenes URL-Schema registrieren muss, damit sie auf die Callback-URL reagieren kann.
- Achten Sie darauf, dass Ihre Anwendung ein URL-Schema registriert hat, 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 von New York in der Mitte angezeigt. In der Anwendung wird außerdem eine Schaltfläche mit der Bezeichnung „SourceApp“ angezeigt.
Wenn auf die Schaltfläche „SourceApp“ geklickt wird, gibt die Google Maps App für iOS einen Callback an das fiktive URL-Schema sourceapp://?resume=true
aus.
comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
&x-success=sourceapp://?resume=true
&x-source=SourceApp
Wie beim URL-Schema comgooglemaps://
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 Anwendung 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://"]];
Dies ist ein Beispiel für eine URL, mit der Nutzer nach der Suche nach Dessert zu einer App zurückkehren können.
comgooglemaps-x-callback://?q=dessert¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
Navigationselemente zu Ihrer App hinzufügen
Wenn Sie die Google Maps App für iOS mit einer Wegbeschreibungsanfrage starten, können Sie Nutzern ganz einfach Zugriff auf die detaillierte Routenführung in Ihrer App gewähren. Sie können das URL-Schema comgooglemaps://
oder comgooglemaps-x-callback://
verwenden.
Dieses Code-Snippet zeigt, wie Sie mit dem Schema comgooglemaps-x-callback://
Wegbeschreibungen anfordern und dann zu Ihrer App zurückkehren, wenn der Nutzer bereit ist. Der Code bewirkt Folgendes:
- Prüfen Sie, ob das URL-Schema
comgooglemaps-x-callback://
verfügbar ist. - Starten Sie die Google Maps App für iOS und fordern Sie eine Wegbeschreibung zum Flughafen New York City an. Lassen Sie die Startadresse leer, um eine Wegbeschreibung vom aktuellen Standort des Nutzers anzufordern.
- Fügen Sie der Google Maps App für iOS eine Schaltfläche mit der Bezeichnung „AirApp“ hinzu. Das Label der Schaltfläche 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 bereits 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 so Ihren Nutzern die bestmögliche native Erfahrung zu bieten.
- Ersetzen Sie das Schema
http://
oderhttps://
durchcomgooglemapsurl://
. - Wenn Sie einen Callback verwenden möchten, fügen Sie die Parameter
x-source
undx-success
hinzu. Dieses Schema entspricht der Spezifikation für x-callback-url.
Unterstützte Google Maps-URL-Formate
Das Schema comgooglemapsurl://
unterstützt URLs, die mit diesem regulären Ausdruck übereinstimmen, wobei {TLD}
auf eine gültige Top-Level-Länderdomain verweist. Zur Verdeutlichung wurden Zeilenumbrüche hinzugefügt:
(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 Anforderung der 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 Anwendung wird außerdem eine Schaltfläche mit der Bezeichnung „SourceApp“ angezeigt. Wenn auf die Schaltfläche „SourceApp“ geklickt wird, gibt die Google Maps App für iOS einen Callback an das fiktive URL-Schema sourceapp://?resume=true
aus.
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