Google Maps-URL-Schema für iOS

Auf Geräten mit iOS 9 und höher können Sie Universelle Links zum Starten von Google Google Maps, wenn Sie eine Google Maps-URL haben.

Sie können das URL-Schema von Google Maps verwenden, um die Google Maps App für iOS: Suchen und Wegbeschreibungen abrufen und Kartenaufrufe anzeigen. Wenn Sie Google Maps starten, wird automatisch mit 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 Universal Links auf Geräten mit iOS 9 oder höher.

Wenn Ihre URL mit dem folgenden regulären Ausdruck übereinstimmt und das Gerät ausgeführt wird iOS 9 oder höher 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-App von einer anderen iOS-App aus starten. oder eine Webanwendung. Sie können Optionen in der URL festlegen, die an die App gestartet. Die Google Maps App für iOS unterstützt folgende URL: Schemas:

  • comgooglemaps:// und comgooglemaps-x-callback:// – Diese Schemas können Sie die Google Maps App für iOS starten und eine von mehreren Aktionen:

    • 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 zurückgegeben werden für vier Verkehrsmittel: Auto, zu Fuß, Fahrrad und öffentlich. mit öffentlichen Verkehrsmitteln.
    • Fügen Sie der App Navigation hinzu.
    • Unter iOS 8 können Sie nach Abschluss der App einen Rückruf absetzen. Verwenden Sie dabei comgooglemaps-x-callback:// Callbacks werden häufig verwendet, um um einen Nutzer zu der App zurückzugeben, mit der Google Maps für iOS geöffnet wurde. Beachten Sie, dass Unter iOS 9 stellt das System automatisch eine "Zurück zu"- Link in der linken Ecke der in der Statusleiste.
  • comgooglemapsurl://: Mit diesem Schema können Sie die Google Maps App starten. für iOS mithilfe einer URL, die von der Google Maps-Desktopwebsite abgeleitet ist. Das bedeutet, damit Sie Ihren Nutzern eine native mobile Erfahrung bieten können, statt einfach nur beim Laden der Google Maps-Website.

    • Die Original-URL kann für maps.google.com oder für google.com/maps lauten. oder eine gültige länderspezifische Top-Level-Domain anstelle von com verwenden. Sie können auch goo.gl/maps Weiterleitungs-URLs übergeben.
    • Mithilfe von x-source und x-success kannst du einen Callback senden. -Parameter mit dem URL-Schema comgooglemapsurl:// verwenden.

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

Um die Google Maps App für iOS zu starten und optional eine der unterstützten Funktionen verwenden, verwenden Sie ein URL-Schema der folgenden 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 eine dieser URLs in Ihrer App präsentieren, sollten Sie überprüfen, ob die Anwendung installiert ist. Ihre App kann prüfen, ob die URL -Schema ist mit dem folgenden Code verfügbar:

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 die Methode folgenden Code:

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. Werden keine Parameter festgelegt, Über das URL-Schema wird die Google Maps App für iOS gestartet.

  • center: Dies ist der Mittelpunkt des Darstellungsbereichs der Karte. Als Komma formatiert Separater String von latitude,longitude.
  • 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. verwendet.
  • views: Aktiviert oder deaktiviert bestimmte Ansichten. Folgende Werte sind möglich: satellite, traffic oder transit. Mehrere Werte können mit einem Komma-Trennzeichen. Wenn der Parameter ohne Wert angegeben wird, alle Ansichten löschen.
  • zoom: Gibt die Zoomstufe der Karte an.

Diese Beispiel-URL zeigt die Karte von New York bei Zoomstufe 14 mit den Zugriffsansicht für:

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 Google Suche auch die q .

  • q: Der Abfragestring für Ihre Suche.

Diese 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

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 ein Breiten- und Längengrad oder eine Adresse in Abfrageformat. Wenn es sich um eine Abfrage handelt die mehr als ein Ergebnis zurückgibt, ist das erste Ergebnis ausgewählt. Wird kein Wert angegeben, wird der aktuelle Standort des Nutzers verwendet werden.
  • daddr: Legt den Endpunkt für die Suche nach einer Route fest. Hat die Format und Verhalten wie bei saddr.
  • directionsmode: Transportmittel. Folgender Wert kann festgelegt werden: driving, transit, bicycling oder walking.

Die Beispiel-URL zeigt Routen mit öffentlichen Verkehrsmitteln zwischen Google New York City und dem JFK Airport:

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 Rückruf-URL angeben möchten, müssen Sie die Methode comgooglemaps-x-callback://-URL-Schema. Dieses Schema hält die x-callback-url-Spezifikation. Wenn Sie die Google Maps App für iOS aufrufen wird in der App oben auf der Seite auf dem Bildschirm. Durch Tippen auf diese Schaltfläche wird ein Callback an eine URL gesendet, die die Sie angegeben haben.

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 den x-Callback sendet Kurze Namen werden bevorzugt.
  • x-success: Die URL, die nach Abschluss des Vorgangs aufgerufen wird. Oft geschieht dies ein URL-Schema für Ihre eigene App sein, mit dem Nutzer zur ursprünglichen Version zurückkehren .

Beachten Sie, dass Ihre App ihr eigenes URL-Schema registrieren muss, damit sie auf die Callback-URL antworten.

  1. Achten Sie darauf, dass Ihre Anwendung ein URL-Schema registriert hat, das antworten kann zur Rückrufanforderung hinzu.
  2. Übergib 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 angezeigt. mit dem Schwerpunkt New York. In der App wird außerdem eine Schaltfläche mit der Bezeichnung „SourceApp“ angezeigt. Wenn die „SourceApp“ angeklickt wird, gibt die Google Maps App für iOS Einen Callback des fiktiven URL-Schemas: sourceapp://?resume=true.

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 ist auf dem Gerät verfügbar und unterstützt das x-Callback-URL-Schema. Ihre App kann prüfen, ob das URL-Schema verfügbar ist durch den folgenden Code:

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 Nachtisch.

comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135
   &x-success=sourceapp://?resume=true
   &x-source=Nom+Nom

Navigation zu Ihrer App hinzufügen

Das Starten der Google Maps App für iOS mit einer Routenanfrage ist eine einfache Möglichkeit, Nutzern in Ihrer App Zugriff auf die detaillierte Routenführung geben. Sie können comgooglemaps:// oder comgooglemaps-x-callback://.

Dieses Code-Snippet zeigt, wie Sie mit dem Schema comgooglemaps-x-callback:// fordert dann eine Wegbeschreibung an und kehrt zur App zurück, sobald der Nutzer bereit ist. Die führt Folgendes aus:

  1. Prüfen Sie, ob das URL-Schema comgooglemaps-x-callback:// verfügbar ist.
  2. Starte die Google Maps App für iOS und fordere eine Wegbeschreibung zum Flughafen Berlin-Schönefeld an New York City. Lassen Sie die Startadresse leer, um eine Wegbeschreibung vom dem aktuellen Standort des Nutzers.
  3. Fügen Sie eine Schaltfläche mit der Bezeichnung „AirApp“ hinzu. in der Google Maps App für iOS. Die Taste Label wird durch den Parameter x-source definiert.
  4. Das fiktive URL-Schema sourceapp:// aufrufen, wenn der Nutzer auf das Objekt Schaltfläche „Zurück“.

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 enthalten, können Sie dieses Schema verwenden, um die URL in der Google Maps App zu öffnen. für iOS und bieten Ihren Nutzern so die bestmögliche native Nutzererfahrung.

  1. Ersetzen Sie das Schema http:// oder https:// durch comgooglemapsurl://.
  2. Wenn du einen Callback verwenden möchtest, füge x-source und x-success ein. Parameter. Dieses Schema entspricht der x-callback-url-Spezifikation.

Unterstützte Google Maps-URL-Formate

Das Schema comgooglemapsurl:// unterstützt URLs, die diesem regulären Ausdruck, wobei {TLD} sich auf eine gültige Top-Level-Länderdomain bezieht. Linie Zur besseren Übersichtlichkeit wurden Umbrüche hinzugefügt:

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

Verfügbarkeit der Google Maps App prüfen

Überprüfen Sie zunächst, ob die Google Maps App für iOS auf dem Gerät verfügbar ist. unterstützt das URL-Schema:

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 die Anforderung einer Route 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 angezeigt. mit einer Wegbeschreibung zum Tokyo Tower, wie in der ursprünglichen Google Maps-URL angegeben. (siehe oben). In der App wird außerdem eine Schaltfläche mit der Beschriftung "SourceApp". Wenn die „SourceApp“ angeklickt wird, wird die Google Maps App für iOS gibt 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