Es kann losgehen!

Bevor Sie mit der Entwicklung beginnen, lesen Sie bitte unsere Entwicklerdokumentation.

Das Google Maps SDK for iOS aktivieren

Zum Einstieg führen wir Sie durch die Google Developers Console, wo Sie vorab Folgendes tun müssen:

  1. Ein Projekt erstellen oder auswählen
  2. Das Google Maps SDK for iOS aktivieren
  3. Zugehörige Schlüssel erstellen
Weiter

Google Maps URL-Schema

Verwenden Sie das Google Maps URL-Schema, um die Google Maps App for iOS zu starten und Suchvorgänge auszuführen, Anforderungen für Wegbeschreibungen abzurufen und Kartenansichten anzuzeigen. Wenn Sie Google Maps starten, wird Ihre Bündelkennung automatisch als Teil der Anforderung gesendet.

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

Übersicht

Ein URL-Schema ermöglicht es Ihnen, eine native iOS-Anwendung von einer anderen iOS-App oder einer Webanwendung aus zu starten. Sie können in der URL Optionen festlegen, die an die gestartete Anwendung übergeben werden. Die Google Maps App for iOS unterstützt die folgenden URL-Schemen:

  • comgooglemaps:// und comgooglemaps-x-callback://: Diese Schemen ermöglichen es, die Google Maps App for iOS zu starten und eine von mehreren Aktionen durchzuführen:

    • Eine Karte an einem bestimmten Standort in einer definierten Vergrößerungsstufe anzuzeigen.
    • Nach Positionen oder Orten zu suchen und diese auf einer Karte anzuzeigen.
    • Wegbeschreibungen von einem Standort zu einem anderen anzufordern. Wegbeschreibungen können für vier Verkehrsmittel zurückgegeben werden: Auto, Fußgänger, Fahrrad und öffentliche Verkehrsmittel.
    • Navigation zur App hinzuzufügen.
    • Über iOS 8 nach dem Abschluss der App einen Callback über comgooglemaps-x-callback:// auszuführen. Callbacks werden häufig verwendet, um einen Benutzer zu der App zurückzuführen, die Google Maps for iOS ursprünglich geöffnet hatte. Beachten Sie, dass das System unter iOS 9 automatisch einen Link vom Typ „Zurück zu“ in der linken Ecke der Statusleiste zur Verfügung stellt.
  • comgooglemapsurl://: Dieses Schema ermöglicht es, die Google Maps App for iOS mithilfe einer von der Google Maps Desktop-Website abgeleiteten URL zu starten. So ermöglichen Sie den Benutzern eine native mobile Erfahrung, anstatt nur die Google Maps-Website zu laden.

    • Die Original-URL kann für maps.google.com oder google.com/maps sein; es kann auch jede gültige Top-Level-Domain anstelle von com verwendet werden. Sie können auch goo.gl/maps Umleitungs-URLs übergeben.
    • Sie können den Callback mithilfe der Parameter x-source und x-success mit dem URL-Schema comgooglemapsurl:// ausführen.

Die Google Maps App for iOS starten und bestimmte Funktionen ausführen

Hinweis: Ab iOS 9 muss Ihre App die URL-Schemen deklarieren, die geöffnet werden. Weitere Informationen finden Sie unter Erste Schritte.

Wenn Sie die Google Maps App for iOS starten und optional eine der unterstützten Funktionen ausführen möchten, verwenden Sie ein URL-Schema mit folgender 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 überprüfen

Bevor Sie einem Benutzer eine der URLs in der App bereitstellen, sollten Sie zunächst sicherstellen, dass die Anwendung installiert ist. Ob das URL-Schema verfügbar ist, kann mit folgendem Code überprüft werden:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]];

Um beispielsweise eine Karte des New Yorker Central Park 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 auch andere Ansichten als Überlagerungen der Karte verwenden oder Street View-Bilder anzeigen.

Parameter

Alle nachstehenden Parameter sind optional. Wurden keine Parameter festgelegt, wird die Google Maps App for iOS einfach gestartet.

  • center: Dies ist der Mittelpunkt des Karten-Viewports. Er hat das Format einer durch Komma getrennten Zeichenfolge auslatitude,longitude.
  • mapmode: Legt die Art der angezeigten Karte fest. Dieser Parameter kann als standard oder streetview festgelegt sein. Wird er nicht angegeben, werden die aktuellen Anwendungseinstellungen verwendet.
  • views: Aktiviert bzw. deaktiviert bestimmte Ansichten. Dieser Parameter kann als satellite, traffic oder transit festgelegt sein. Mithilfe eines Kommatrennzeichens können mehrere Werte festgelegt werden. Wird kein Wert für den Parameter festgelegt, werden alle Ansichten gelöscht.
  • zoom: Gibt die Vergrößerungsstufe der Karte an.

Im Folgenden sehen Sie eine Beispiel-URL mit der Karte von New York, einer Vergrößerungsstufe von 14 und aktivierter Ansicht „traffic“:

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

New York traffic map

Hier sehen Sie einige weitere Beispiele:

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

Suche

Mithilfe dieses Schemas können Sie Suchabfragen in einer bestimmten Position des Viewports anzeigen.

Parameter

Zusätzlich zu den Parametern, die zum Anzeigen von Karten verwendet werden, wird für die Suche der Parameter q unterstützt.

  • q: Die Abfragezeichenfolge für die Suche.

Die folgende Beispiel-URL zeigt eine Suche nach „Pizza“ im Umkreis des angegebenen Standorts:

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

Nearby Pizza

Hier sehen Sie 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 das Transportmittel können Sie angeben.

Parameter

  • saddr: Legt den Ausgangspunkt für die Suche nach Wegbeschreibungen fest. Dies kann eine Längen-/Breitenangabe oder eine Adresse in Abfrageformat sein. Wenn es sich um eine Abfragezeichenfolge handelt, die mehrere Ergebnisse zurückgibt, wird das erste Ergebnis ausgewählt. Wird der Wert leer gelassen, so wird der aktuelle Standort des Benutzers verwendet.
  • daddr: Legt den Zielpunkt für die Suche nach Wegbeschreibungen fest. Weist das gleiche Format und Verhalten wie saddr auf.
  • directionsmode: Das Verkehrsmittel. Dieser Parameter kann als driving, transit, bicycling oder walking festgelegt sein.

Im Folgenden sehen Sie eine Beispiel-URL für eine Wegbeschreibung mit öffentlichen Verkehrsmitteln zwischen Google NYC und 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

Transit directions

Hier sehen Sie 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

Eine Callback-URL angeben

Wenn Sie eine Callback-URL angeben möchten, müssen Sie das URL-Schema comgooglemaps-x-callback:// verwenden. Dieses Schema folgt der [x-callback-url-Spezifikation]. Wenn Sie die Google Maps App for iOS mit diesem Schema aufrufen, wird oben im Bildschirm eine Schaltfläche angezeigt. Wenn Sie auf diese Schaltfläche tippen, wird ein Callback zu einer von Ihnen angegebenen URL durchgeführt.

Anforderungen an comgooglemaps-x-callback:// müssen folgende Form aufweisen:

comgooglemaps-x-callback://?parameters

Parameter

Das x-callback-URL-Schema lässt die gleichen Parameter wie das URL-Schema comgooglemaps:// sowie folgende zusätzliche Parameter zu. Es werden beide Parameter benötigt.

  • x-source — Der Name der App, von der die x-callback-Anforderung gesendet wird. Kurze Namen werden bevorzugt.
  • x-success — Die nach Abschluss aufzurufende URL. Meistens wird dies das URL-Schema für Ihre App sein, das den Benutzern die Rückkehr zur ursprünglichen App ermöglicht.

Beachten Sie, dass das URL-Schema Ihrer App registriert sein muss, damit es auf die Callback-URL antworten kann.

  1. Stellen Sie sicher, dass für die App ein URL-Schema registriert ist, das auf die Callback-Anforderung antworten kann.
  2. Übergeben Sie die Beschriftung 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 for iOS gestartet und die Karte von New York angezeigt. In der App wird auch eine Schaltfläche mit der Beschriftung „SourceApp“ angezeigt. Wird auf die Schaltfläche „SourceApp“ geklickt, führt die Google Maps App for iOS einen Callback an das folgende fiktive URL-Schema aus: sourceapp://?resume=true.

comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
   &x-success=sourceapp://?resume=true
   &x-source=SourceApp

Wie im Falle des URL-Schemas comgooglemaps:// sollten Sie zuerst überprüfen, ob die Google Maps App for iOS auf dem Gerät verfügbar ist und das x-callback-URL-Schema unterstützt. Ob das URL-Schema verfügbar ist, kann mit folgendem Code überprüft werden:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemaps-x-callback://"]];

Im Folgenden sehen Sie ein Beispiel für eine URL, die den Benutzer zur App zurückkehren lässt, nachdem er nach „Dessert“ gesucht hat.

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

Durch das Starten der Google Maps App for iOS mit einer Anforderung für Wegbeschreibungen ermöglichen Sie es den Benutzern, auf einfache Weise auf die Navigation mit Routenführung über Ihre App zuzugreifen. Sie können das URL-Schema comgooglemaps:// oder comgooglemaps-x-callback:// verwenden.

Hinweis: Über den Parameter x-source hinzugefügte Schaltflächen werden in der Benutzeroberfläche der Navigation mit Routenführung nicht angezeigt.

Im folgenden Codeausschnitt wird gezeigt, wie Sie das Schema comgooglemaps-x-callback:// zum Anfordern von Wegbeschreibungen verwenden und zur App zurückkehren, wenn der Benutzer fertig ist. Durch den Code wird Folgendes ausgeführt:

  1. Es wird überprüft, ob das URL-Schema comgooglemaps-x-callback:// verfügbar ist.
  2. Die Google Maps App for iOS wird gestartet und es wird eine Wegbeschreibung zum JFK Airport angefordert. Die Startadresse wird dabei leergelassen, um eine Wegbeschreibung vom aktuellen Standort des Benutzers aus anzufordern.
  3. Der Google Maps App for iOS wird die Schaltfläche „AirApp“ hinzugefügt. Die Beschriftung der Schaltfläche wird durch den Parameter x-source definiert.
  4. Wenn der Nutzer auf die Schaltfläche „Zurück“ klickt, wird das fiktive URL-Schema sourceapp:// aufgerufen.

Im Folgenden sehen Sie den Code.

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.");
}

Die Google Maps App for iOS über eine Google Maps Desktop-URL starten

Verfügt Ihre App über Zugriff auf eine bereits vorhandene Google Maps URL, bspw. auf einer Webseite oder in einer Datenbank, können Sie die URL mithilfe des folgenden Schemas in der Google Maps App for iOS öffnen und Benutzern so die native Nutzung ermöglichen.

  1. Ersetzen Sie das Schema http:// oder https:// durch comgooglemapsurl://.
  2. Wenn Sie einen Callback verwenden möchten, schließen Sie die Parameter x-source und x-success ein. Dieses Schema folgt der [x-callback-url-Spezifikation].

Unterstützte Formate für Google Maps URLs

Das Schema comgooglemapsurl:// unterstützt URLs, die mit dem folgenden regulären Ausdruck übereinstimmen, wobei {TLD} sich auf jede gültige Top-Level-Domain eines Landes bezieht. Zur besseren Erkennbarkeit wurden Zeilenumbrüche hinzugefügt:

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

Verfügbarkeit der Google Maps App überprüfen

Überprü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 allgemeinen 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 allgemeinen 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 der 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 for iOS gestartet und eine Karte mit Wegbeschreibung zum Tokyo Tower, wie in der obigen ursprünglichen Google Maps URL angegeben, angezeigt. In der App wird auch eine Schaltfläche mit der Beschriftung „SourceApp“ angezeigt. Wird auf die Schaltfläche „SourceApp“ geklickt, führt die Google Maps App for iOS einen Callback an das folgende fiktive URL-Schema aus: 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

Feedback geben zu...

Google Maps SDK for iOS
Google Maps SDK for iOS