Auf Geräten mit iOS 9 oder höher können Sie Universal Links verwenden, um Google Maps zu starten, wenn Sie eine Google Maps-URL haben.
Mit dem URL-Schema von Google Maps können Sie die Google Maps App für iOS starten, Suchen durchführen, Wegbeschreibungen abrufen und Kartenansichten anzeigen. Wenn Sie Google Maps starten, wird Ihre Bundle-ID automatisch im Rahmen 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 mit dem folgenden regulären Ausdruck übereinstimmt und auf dem Gerät iOS 9 oder höher ausgeführt wird, können 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 aus einer anderen iOS-App oder einer Webanwendung heraus starten. Sie können in der URL Optionen 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 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. Routen können für vier Mobilitätsformen zurückgegeben werden: mit dem Auto, zu Fuß, mit dem Fahrrad oder mit öffentlichen Verkehrsmitteln.
- Navigation zur App hinzufügen
- Verwende unter iOS 8 mit
comgooglemaps-x-callback://
einen Callback, wenn die App abgeschlossen ist. Callbacks werden häufig verwendet, um Nutzer zu der App weiterzuleiten, die Google Maps für iOS ursprünglich geöffnet hat. Unter iOS 9 wird automatisch links in der Statusleiste der Link „Zurück zu“ angezeigt.
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 stammt. So können Sie Ihren Nutzern eine native mobile Nutzung bieten, statt einfach die Google Maps-Website laden zu müssen.- Die ursprüngliche URL kann für
maps.google.com
, fürgoogle.com/maps
oder für alle gültigen Länderdomains der obersten Ebene anstelle voncom
verwendet werden. Sie können auchgoo.gl/maps
Weiterleitungs-URLs übergeben. - Sie können einen Callback mit den Parametern
x-source
undx-success
im URL-Schemacomgooglemapsurl://
ausführen.
- Die ursprüngliche URL kann für
Google Maps App für iOS starten und eine bestimmte Funktion ausführen
Verwenden Sie ein URL-Schema mit der folgenden Form, um die Google Maps App für iOS zu starten und optional eine der unterstützten Funktionen auszuführen:
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 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 Parks 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 die Google Maps App for iOS über das URL-Schema gestartet.
center
: Dies ist der Mittelpunkt des Darstellungsbereichs der Karte. Formatiert als kommagetrennter String vonlatitude,longitude
.mapmode
: Legt die Art der angezeigten Karte fest. Kann festgelegt werden auf:standard
oderstreetview
. Wenn nicht angegeben, werden die aktuellen Anwendungseinstellungen verwendet.views
: Aktiviert/deaktiviert bestimmte Ansichten. Kann aufsatellite
,traffic
odertransit
festgelegt werden. Mit einem Kommatrennzeichen können mehrere Werte festgelegt werden. 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 von New York bei Zoomstufe 14 mit aktivierter Verkehrsansicht angezeigt:
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic
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 die Suche.
Diese Beispiel-URL für Suchanfragen nach „Pizza“ in der Nähe des angegebenen Standorts:
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
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
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-, Längengrad oder eine Adresse im Abfrageformat 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 Suche nach einer Route fest. Format und Verhalten sind mitsaddr
identisch.directionsmode
: Beförderungsart. Kann festgelegt werden auf:driving
,transit
,bicycling
oderwalking
.
Die Beispiel-URL zeigt Routen 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
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 du eine Callback-URL angeben möchtest, musst du das URL-Schema comgooglemaps-x-callback://
verwenden. Dieses Schema folgt 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 du auf diese Schaltfläche tippst, wird ein Callback an eine von dir angegebene URL ausgelöst.
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 nach Abschluss aufgerufen werden soll. Oftmals handelt es sich dabei um ein URL-Schema für Ihre eigene Anwendung, mit dem Nutzer zur ursprünglichen Anwendung zurückkehren können.
Beachten Sie, dass Ihre Anwendung ein eigenes URL-Schema registrieren muss, damit sie auf die Callback-URL reagieren kann.
- Deine 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
x-success
-Parameter.
Im folgenden Beispiel wird die Google Maps App for iOS gestartet und eine Karte mit der Ortsmitte angezeigt. In der App wird auch eine Schaltfläche mit der Bezeichnung „SourceApp“ angezeigt.
Wenn auf die Schaltfläche „SourceApp“ geklickt wird, sendet die Google Maps App für iOS einen Callback an das fiktive URL-Schema sourceapp://?resume=true
.
comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
&x-success=sourceapp://?resume=true
&x-source=SourceApp
Prüfen Sie wie beim URL-Schema comgooglemaps://
zuerst, ob die Google Maps App for 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://"]];
Hier sehen Sie ein Beispiel für eine URL, über die Nutzer nach der Suche nach Desserts 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
Navigation zur App hinzufügen
Wenn Sie die Google Maps App für iOS mit einer Wegbeschreibung starten, können Sie Nutzern ganz einfach die detaillierte Routenführung von Ihrer App aus anbieten. Dazu können Sie das URL-Schema comgooglemaps://
oder comgooglemaps-x-callback://
verwenden.
Dieses Code-Snippet zeigt, wie Sie mit dem comgooglemaps-x-callback://
-Schema Wegbeschreibungen anfordern und dann zu Ihrer App zurückkehren, wenn der Nutzer bereit ist. Der Code führt Folgendes aus:
- 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 Berlin-Schönefeld an. Lassen Sie die Startadresse leer, um eine Wegbeschreibung vom aktuellen Standort des Nutzers anzufordern.
- Schaltfläche „AirApp“ zur Google Maps App für iOS hinzufügen Das Label der Schaltfläche wird durch den Parameter
x-source
definiert. - Ruf 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 Ihren Nutzern so die native Bereitstellung zu bieten.
- Ersetzen Sie das Schema
http://
oderhttps://
durchcomgooglemapsurl://
. - Wenn Sie einen Callback verwenden möchten, schließen Sie die Parameter
x-source
undx-success
ein. Dieses Schema folgt der x-callback-url-Spezifikation.
Unterstützte Google Maps-URL-Formate
Das comgooglemapsurl://
-Schema unterstützt URLs, die diesem regulären Ausdruck entsprechen, wobei {TLD}
sich auf jede gültige Länderdomain der obersten Ebene bezieht. Zur Verdeutlichung werden 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 for 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 einer generischen 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 einer generischen 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 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 die Schaltfläche „SourceApp“ angezeigt. Wenn auf die Schaltfläche „SourceApp“ geklickt wird, sendet die Google Maps App für iOS einen Callback an das fiktive 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