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 URL-Schema von Google Maps können Sie die Google Maps App für iOS starten, Suchanfragen ausführen, Wegbeschreibungen abrufen und Kartenansichten aufrufen. 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 dem folgenden regulären Ausdruck entspricht und auf dem Gerät iOS 9 oder höher ausgeführt wird, sollten Sie die Verwendung der Methode „openURL:“ direkt in Betracht ziehen.

(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:// 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 lassen sich für vier Mobilitätsformen zurückgeben: Auto, zu Fuß, Fahrrad oder öffentliche Verkehrsmittel.
    • Navigation zur App hinzufügen
    • Rufe unter iOS 8 mit comgooglemaps-x-callback:// einen Callback auf, wenn die App abgeschlossen ist. Callbacks werden häufig verwendet, um einen Nutzer zu der App zurückzugeben, die Google Maps für iOS geöffnet hat. Unter iOS 9 wird in 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 stammt. Das bedeutet, dass Sie Ihren Nutzern eine native mobile Nutzererfahrung bieten können, statt einfach die Google Maps-Website zu laden.

    • Die ursprüngliche URL kann 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 mit dem URL-Schema comgooglemapsurl:// ausführen.

Google Maps App für iOS starten und eine bestimmte Funktion ausführen

Verwenden Sie ein URL-Schema mit folgendem Format, 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 präsentieren, 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://"]];

Um eine Karte des Central Parks in New York anzuzeigen, können Sie beispielsweise 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, startet das URL-Schema die Google Maps App for iOS.

  • center: Dies ist der Mittelpunkt des Darstellungsbereichs der Karte. Formatiert als kommagetrennter String von latitude,longitude.
  • mapmode: Der Typ der angezeigten Karte. Kann auf standard oder streetview festgelegt werden. Wenn nichts angegeben ist, werden die aktuellen Anwendungseinstellungen verwendet.
  • views: Aktiviert/deaktiviert bestimmte Ansichten. Kann festgelegt werden auf: satellite, traffic oder transit. Mit einem Komma lassen sich mehrere Werte festlegen. Wenn der Parameter ohne Wert angegeben wird, werden alle Ansichten gelöscht.
  • zoom: gibt die Zoomstufe der Karte an.

Diese Beispiel-URL zeigt die Karte, die auf New York zentriert ist, bei Zoomstufe 14 mit aktivierter Verkehrsansicht:

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

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 zu Suchanfragen nach „Pizza“ in der Nähe des angegebenen Standorts:

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 die Suche nach Routen fest. Dies kann ein Breiten-, Längengrad oder eine in einer Abfrage 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 ist, wird der aktuelle Standort des Nutzers verwendet.
  • daddr: Legt den Endpunkt für die Suche nach Routen fest. Hat dasselbe Format und Verhalten wie saddr.
  • directionsmode: Mobilitätsform. Kann auf driving, transit, bicycling oder walking festgelegt werden.

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 du eine Callback-URL angeben möchtest, musst du das URL-Schema comgooglemaps-x-callback:// verwenden. Dieses Schema entspricht der Spezifikation von x-callback-url. Wenn Sie die Google Maps App für iOS aufrufen, wird in der App oben auf dem Bildschirm eine Schaltfläche angezeigt. Wenn Sie auf diese Schaltfläche tippen, wird ein Callback an die 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 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. Dies ist häufig ein URL-Schema für Ihre eigene Anwendung, sodass Nutzer zur ursprünglichen Anwendung zurückkehren können.

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

  1. Deine Anwendung muss ein URL-Schema registriert haben, das auf die Callback-Anfrage reagieren kann.
  2. Übergeben Sie das Label für die Callback-Schaltfläche 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 mit dem Mittelpunkt New York angezeigt. In der App wird auch die Schaltfläche „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:// musst du zuerst prüfen, ob die Google Maps App für iOS auf dem Gerät verfügbar ist und das Schema für die x-Callback-Funktion 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://"]];

Das ist ein Beispiel für eine URL, über die Nutzer nach der Suche nach einem 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

Navigation zur 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. Dazu stehen Ihnen die URL-Schemas comgooglemaps:// und comgooglemaps-x-callback:// zur Verfügung.

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:

  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 JFK in New York an. Lassen Sie die Startadresse leer, um eine Wegbeschreibung vom aktuellen Standort des Nutzers anzufordern.
  3. Schaltfläche „AirApp“ zur Google Maps App für iOS hinzufügen Das Label der Schaltfläche wird durch den Parameter x-source definiert.
  4. 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 Google Maps-URL hat, die bereits vorhanden ist, 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 beste native Verwendung zu bieten.

  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 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. Dabei bezieht sich {TLD} auf jede gültige länderspezifische Domain der obersten Ebene. Zur besseren Übersichtlichkeit 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 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 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 der Wegbeschreibung zum Tokyo Tower angezeigt, wie in der ursprünglichen Google Maps-URL (siehe oben) angegeben. In der App wird auch die Schaltfläche „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