Google Maps-URL-Schema für iOS

Auf Geräten mit iOS 9 oder höher können Sie Google Maps mithilfe von universellen Links 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 stellen, 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.

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, 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-Schemata:

  • comgooglemaps:// und comgooglemaps-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 Mobilitätsformen zurückgegeben werden: Auto, Fahrrad, zu Fuß und öffentliche Verkehrsmittel.
    • Fügen Sie Ihrer App eine Navigationsleiste hinzu.
    • Unter iOS 8 kannst du mit comgooglemaps-x-callback:// einen Callback senden, wenn die App fertig ist. Callbacks werden häufig verwendet, um Nutzer zur App zurückzuleiten, über die Google Maps für iOS ursprünglich geöffnet wurde. 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 Google Maps-Website für Computer abgeleitet wurde. 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 google.com/maps sein oder eine gültige länderspezifische Top-Level-Domain anstelle von com verwenden. Sie können auch goo.gl/maps-Weiterleitungs-URLs übergeben.
    • Du kannst einen Callback mit den Parametern x-source und x-success und dem URL-Schema comgooglemapsurl:// ausführen.

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 folgendem 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 prüfen

Bevor Sie einem Nutzer in Ihrer App eine dieser URLs präsentieren, sollten Sie zuerst prüfen, ob die Anwendung installiert ist. Mit dem folgenden Code kann Ihre App 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 über das URL-Schema die Google Maps App für iOS gestartet.

  • center: Dies ist der Mittelpunkt des Karten-Viewports. Als kommagetrennter String von latitude,longitude formatiert.
  • mapmode: Legt fest, welche Art von Karte angezeigt wird. Kann auf standard oder streetview festgelegt werden. Wenn nicht angegeben, werden die aktuellen Anwendungseinstellungen verwendet.
  • views: Bestimmte Ansichten können damit aktiviert oder deaktiviert werden. Kann auf satellite, traffic oder transit festgelegt werden. Mehrere Werte können mit einem Komma als Trennzeichen 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 mit dem Mittelpunkt in New York bei Zoomstufe 14 mit aktivierter Verkehrsansicht angezeigt:

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

Verkehrskarte von New York

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

Neben den Parametern, die zum Darstellen einer Karte verwendet werden, unterstützt die Google Suche den Parameter q.

  • q: Der Abfragestring für die Suche.

In dieser Beispiel-URL wird nach „Pizza“ in der Nähe des angegebenen Standorts gesucht:

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

Pizza-Angebote in der Nähe

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 Suchanfragen nach Wegbeschreibungen fest. Dies kann ein Längen- und Breitengrad oder eine in Abfrageformat 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 bleibt, wird der aktuelle Standort des Nutzers verwendet.
  • daddr: Legt den Endpunkt für Suchanfragen nach Wegbeschreibungen fest. Hat dasselbe Format und Verhalten wie saddr.
  • directionsmode: Beförderungsart. Kann auf einen der folgenden Werte festgelegt werden: driving, transit, bicycling oder walking.

Die Beispiel-URL enthält Wegbeschreibungen für öffentliche Verkehrsmittel 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

Route für öffentliche Verkehrsmittel

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 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 Sie auf diese Schaltfläche tippen, wird ein Rückruf an eine von Ihnen angegebene URL gesendet.

Anfragen an die comgooglemaps-x-callback:// müssen folgendermaßen formatiert sein:

comgooglemaps-x-callback://?parameters

Parameter

Für das X-Callback-URL-Schema gelten dieselben Parameter wie für 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, mit dem Nutzer zur ursprünglichen App zurückkehren können.

Ihre App muss ein 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 reagieren kann.
  2. Übergeben Sie das Label für die Schaltfläche für den Rückruf im Parameter x-source.
  3. Übergeben Sie die Callback-URL im Parameter x-success.

Im folgenden Beispiel wird die Google Maps App für iOS gestartet und eine Karte wird angezeigt, deren Mittelpunkt New York ist. Außerdem wird die Schaltfläche „SourceApp“ angezeigt. Wenn auf die Schaltfläche „SourceApp“ geklickt wird, sendet die Google Maps App für iOS einen Rückruf 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 solltest du 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. Mit dem folgenden Code kann Ihre App 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, über die Nutzer zu einer App zurückkehren können, nachdem sie nach „Dessert“ gesucht haben.

comgooglemaps-x-callback://?q=dessert&center=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 Wegbeschreibungsanfrage starten, können Nutzer ganz einfach über Ihre App eine detaillierte Routenführung aufrufen. Sie können entweder das comgooglemaps://- oder das comgooglemaps-x-callback://-URL-Schema verwenden.

In diesem Code-Snippet wird gezeigt, wie Sie mit dem comgooglemaps-x-callback://-Schema eine Wegbeschreibung anfordern und dann zu Ihrer App zurückkehren, wenn der Nutzer bereit ist. Der Code führt Folgendes aus:

  1. Prüfen Sie, ob das comgooglemaps-x-callback://-URL-Schema verfügbar ist.
  2. Öffnen Sie die Google Maps App für iOS und rufen Sie eine Wegbeschreibung zum JFK-Flughafen in New York auf. 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 die Schaltfläche „AirApp“ hinzu. Das Schaltflächenlabel 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 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 Nutzung zu bieten.

  1. Ersetzen Sie das http://- oder https://-Schema durch comgooglemapsurl://.
  2. Wenn Sie einen Callback verwenden möchten, geben Sie die Parameter x-source und x-success an. 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. Dabei bezieht sich {TLD} auf eine gültige Top-Level-Länderdomain. Zur besseren Verständlichkeit 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 generische 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 generische 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 Wegbeschreibung zum Tokyo Tower angezeigt, wie in der ursprünglichen Google Maps-URL (oben) angegeben. Außerdem wird die Schaltfläche „SourceApp“ angezeigt. Wenn auf die Schaltfläche „SourceApp“ geklickt wird, sendet die Google Maps App für iOS einen Rückruf 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