Google Maps-URL-Schema für iOS

Auf Geräten mit iOS 9 und 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, Suchanfragen ausführen, Routenanfragen abrufen und Kartenaufrufe aufrufen. Beim Start von Google Maps wird die Paket-ID automatisch als Teil der Anfrage gesendet.

Sie benötigen keinen Google-API-Schlüssel, um das Google Maps-URL-Schema zu verwenden.

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 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"]];

Überblick

Mit einem URL-Schema können Sie eine native iOS-App 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:// und comgooglemaps-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: 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 das System unter iOS 9 automatisch links in der Statusleiste einen Link "Zurück zu" anzeigt.
  • 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 Ihren Nutzern eine native mobile Erfahrung bieten können, anstatt einfach nur die Google Maps-Website zu laden.

    • Die Original-URL kann für maps.google.com oder google.com/maps oder für eine gültige Top-Level-Länderdomain anstelle von com sein. Sie können auch goo.gl/maps-Weiterleitungs-URLs übergeben.
    • Sie können einen Callback mit den Parametern x-source und x-success mit dem URL-Schema comgooglemapsurl:// ausgeben.

Die 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 im folgenden Format:

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 wird geprüft

Bevor Sie einem Nutzer in Ihrer Anwendung eine dieser URLs präsentieren, sollten Sie zuerst 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://"]];

Um beispielsweise eine Karte des Central Park in New York anzuzeigen, 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 für iOS durch das URL-Schema gestartet.

  • center: Das ist der Mittelpunkt des Darstellungsbereichs der Karte. Als durch Kommas getrennter String latitude,longitude formatiert.
  • mapmode: Legt die Art der angezeigten Karte fest. Folgende Werte sind möglich: standard oder streetview. Wenn keine Angabe erfolgt, werden die aktuellen Anwendungseinstellungen verwendet.
  • views: Aktiviert bzw. deaktiviert bestimmte Ansichten. Folgende Werte sind verfügbar: satellite, traffic oder transit. 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.

Diese Beispiel-URL zeigt die auf New York zentrierte Karte bei Zoomstufe 14. Die Verkehrsansicht ist aktiviert:

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

Verkehrskarte von New York

Hier einige weitere Beispiele:

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

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 auch 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&center=37.759748,-122.427135

Pizza-Angebote in der Nähe

Hier einige weitere Beispiele:

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

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. Dabei kann es sich um einen Breitengrad,einen Längengrad oder eine Adresse im Abfrageformat handeln. 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. Hat das gleiche Format und Verhalten wie saddr.
  • directionsmode: Das Verkehrsmittel. Folgende Werte sind möglich: driving, transit, bicycling oder walking.

Die Beispiel-URL zeigt Routen mit öffentlichen Verkehrsmitteln 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

Route für öffentliche Verkehrsmittel

Hier einige weitere Beispiele:

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

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 „x-callback-url“. Wenn Sie die Google Maps App für iOS mit diesem Schema aufrufen, wird in der App 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 comgooglemaps-x-callback:// müssen das folgende Format haben:

comgooglemaps-x-callback://?parameters

Parameter

Das x-Callback-URL-Schema akzeptiert die gleichen Parameter wie das URL-Schema comgooglemaps://, 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. Oft ist dies ein URL-Schema für Ihre eigene Anwendung, mit dem Nutzer zur ursprünglichen Anwendung zurückkehren können.

Ihre Anwendung muss ihr eigenes URL-Schema registrieren, damit sie auf die Callback-URL reagieren kann.

  1. Ihre Anwendung muss ein URL-Schema registriert haben, das auf die Callback-Anfrage antworten kann.
  2. Übergeben Sie das Label für die Callback-Schaltfläche im x-source-Parameter.
  3. Übergeben Sie die Callback-URL im Parameter x-success.

Im folgenden Beispiel wird die Google Maps App für iOS gestartet und es wird eine Karte angezeigt, deren Mittelpunkt New York ist. In der App 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 für 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:// müssen 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://"]];

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&center=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 über Ihre 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:

  1. Prüfen Sie, ob das URL-Schema comgooglemaps-x-callback:// verfügbar ist.
  2. Starten Sie die Google Maps App für iOS und fordern Sie eine Wegbeschreibung zum Flughafen New York (JFK) an. Lassen Sie die Startadresse leer, um eine Wegbeschreibung vom aktuellen Standort des Nutzers anzufordern.
  3. Fügen Sie der Google Maps App für iOS eine Schaltfläche mit der Bezeichnung „AirApp“ hinzu. Die Beschriftung der Schaltfläche wird durch den Parameter x-source definiert.
  4. 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. So profitieren Nutzer von optimaler nativer Erfahrung.

  1. Ersetzen Sie das Schema http:// oder https:// durch comgooglemapsurl://.
  2. Wenn Sie einen Callback verwenden möchten, fügen Sie die Parameter x-source und x-success hinzu. Dieses Schema entspricht 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} 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 wird geprüft

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 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 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 für 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