Es kann losgehen!

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

Den Google Places API Web Service 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. Den Google Places API Web Service aktivieren
  3. Zugehörige Schlüssel erstellen
Weiter

Query Autocomplete

Der Dienst Query Autocomplete stellt eine Abfragevorhersage für textbasierte geografische Suchvorgänge bereit, indem bei der Eingabe mögliche Abfragen vorgeschlagen werden.

Anforderungen mit Query Autocomplete

Der Dienst Query Autocomplete ist Teil von Google Places API Web Service und teilt einen API-Schlüssel und Kontingente mit Google Places API Web Service.

Mit dem Dienst Query Autocomplete können Sie spontan geografische Abfragevorhersagen zu Ihrer Anwendung hinzufügen. Anstatt nach einem bestimmten Ort zu suchen, kann der Benutzer eine Kategoriesuche eingeben, wie „Pizza bei New York“, und der Dienst wird eine Liste von vorgeschlagenen Abfragen zurückgeben, die mit der Zeichenfolge übereinstimmen. Da der Dienst Query Autocomplete in der Lage ist, Übereinstimmungen zu sowohl vollständigen Wörtern als auch zu Teilzeichenfolgen zu finden, können Anwendungen daher Abfragen senden, während der Benutzer tippt, um Vorhersagen spontan zurückzugeben.

Eine Anforderung mit Query Autocomplete ist eine HTTP URL der folgenden Form:

https://maps.googleapis.com/maps/api/place/queryautocomplete/output?parameters

wobei output entweder json oder xml sein kann.

Es sind bestimmte Parameter für die Initiierung einer Query Autocomplete-Anforderung erforderlich. Standardmäßig werden alle Parameter in URLs durch ein kaufmännisches Und (&) getrennt. Die Liste der Parameter und deren mögliche Werte sind unten aufgeführt.

Erforderliche Parameter

  • input — die Zeichenfolge, anhand der gesucht wird. Der Places-Dienst gibt mögliche Übereinstimmungen basierend auf dieser Zeichenfolge zurück und ordnet Ergebnisse nach erkannter Relevanz.
  • key — der API-Schlüssel Ihrer Anwendung. Dieser Schlüssel identifiziert Ihre Anwendung für das Kontingentmanagement. Weitere Informationen finden Sie unter Schlüssel anfordern. Google Maps APIs Premium Plan-Kunden müssen das API-Projekt verwenden, das beim Premium Plan-Kauf für sie erstellt wurde.

Optionale Parameter

  • offset — die Position des Zeichens im Eingabebegriff, an der der Dienst Text für Vorhersagen verwendet. Beispiel: Wenn die Eingabe „Googl“ lautet und der Abschlusspunkt den Wert 3 hat, wird der Dienst nach Übereinstimmungen mit „Goo“ suchen. Der Wert offset sollte normalerweise auf die Position des Textcursors gesetzt werden. Wird kein Wert für offset angegeben, verwendet der Dienst den gesamten Begriff.
  • location — der Punkt, um den herum Sie Ortsdaten abrufen möchten. Er muss als Breitengrad,Längengrad angegeben werden.
  • radius — der Abstand (in Metern), innerhalb dessen Ortsergebnisse zurückgegeben werden sollen. Beachten Sie, dass die Angabe von radius die Ergebnisse auf den angegebenen Bereich beschränkt, aber nicht vollständig darauf einschränkt. Weitere Informationen finden Sie weiter unter Standort-Biasing
  • language — der Sprachencode gibt an, in welcher Sprache die Ergebnisse vorzugsweise zurückgegeben werden sollen. Die ausgewählte Sprache hat auch Einfluss auf die Anzeige der Suchergebnisse. Ergebnisse in der ausgewählten Sprache werden möglicherweise vorrangig behandelt. Weitere Informationen finden Sie in der Unterstützte Liste der Domänensprachen. Wurde keine Sprache angegeben, versucht der Places-Dienst die native Sprache der Domäne zu verwenden, aus der die Anforderung gesendet wurde.

Standort-Biasing

Sie können Ergebnisse auf einen bestimmten Umkreis beschränken, indem Sie die Parameter location und radius übergeben. Dies weist den Places-Dienst an, vorzugsweise Ergebnisse innerhalb dieses Kreises anzuzeigen. Ergebnisse außerhalb dieses festgelegten Bereichs können aber trotzdem angezeigt werden.

Beispiel: Anforderungen mit Query Autocomplete

Die Anforderung lautet “Pizza bei Par“:

https://maps.googleapis.com/maps/api/place/queryautocomplete/json?key=YOUR_API_KEY&input=pizza+near%20par

Die Anforderung lautet “Pizza bei Par“ mit Ergebnissen in Französisch:

  https://maps.googleapis.com/maps/api/place/queryautocomplete/json?key=YOUR_API_KEY&language=fr&input=pizza+near%20par

Beachten Sie, dass Sie den API-Schlüssel in diesen Beispielen durch Ihren eigenen Schlüssel ersetzen müssen.

Antworten auf Query Autocomplete

Query Autocomplete-Antworten werden in dem Format zurückgegeben, das im Flag output im URL-Pfad der Anforderung angegeben wurde. Die Ergebnisse unten werden für eine Abfrage mit folgenden Parametern zurückgegeben:

https://maps.googleapis.com/maps/api/place/queryautocomplete/xml?&key=YOUR_API_KEY&input=pizza+near+sydne

JSON
{
   "predictions" : [
      {
         "description" : "pizza near Sydney, New South Wales, Australia",
         "matched_substrings" : [
            {
               "length" : 5,
               "offset" : 0
            },
            {
               "length" : 4,
               "offset" : 6
            },
            {
               "length" : 5,
               "offset" : 11
            }
         ],
         "terms" : [
            {
               "offset" : 0,
               "value" : "pizza"
            },
            {
               "offset" : 6,
               "value" : "near"
            },
            {
               "offset" : 11,
               "value" : "Sydney"
            },
            {
               "offset" : 19,
               "value" : "New South Wales"
            },
            {
               "offset" : 36,
               "value" : "Australia"
            }
         ]
      },
      {
         "description" : "pizza near Sydney, NS, Canada",
         "matched_substrings" : [
            {
               "length" : 5,
               "offset" : 0
            },
            {
               "length" : 4,
               "offset" : 6
            },
            {
               "length" : 5,
               "offset" : 11
            }
         ],
         "terms" : [
            {
               "offset" : 0,
               "value" : "pizza"
            },
            {
               "offset" : 6,
               "value" : "near"
            },
            {
               "offset" : 11,
               "value" : "Sydney"
            },
            {
               "offset" : 19,
               "value" : "NS"
            },
            {
               "offset" : 23,
               "value" : "Canada"
            }
         ]
      },
        ...additional results ...
      {
         "description" : "Bondi Pizza, Campbell Parade, Sydney, New South Wales, Australia",
         "id" : "c478ed4e7cb075b307fdce4ad4f6c9d15cab01d7",
         "matched_substrings" : [
            {
               "length" : 5,
               "offset" : 6
            },
            {
               "length" : 5,
               "offset" : 30
            }
         ],
         "place_id" : "ChIJv0wpwp6tEmsR0Glcf5tugrk",
         "reference" : "ClRPAAAAYozD2iM3dQvDMrvrLDIALGoHO7v6pWhxn5vIm18pOyLLqToyikFov34qJoe4NnpoaLtGIWd5LWm5hOpWU1BT-SEI2jGZ8WXuDvYiFtQtjGMSEIR4thVlMws1tnNuE3hE2k0aFCqP_yHWRNSLqaP_vQFzazO-D7Hl",
         "terms" : [
            {
               "offset" : 0,
               "value" : "Bondi Pizza"
            },
            {
               "offset" : 13,
               "value" : "Campbell Parade"
            },
            {
               "offset" : 30,
               "value" : "Sydney"
            },
            {
               "offset" : 38,
               "value" : "New South Wales"
            },
            {
               "offset" : 55,
               "value" : "Australia"
            }
         ],
         "types" : [ "establishment" ]
      }
   ],
     "status" : "OK"
  }
      

Eine JSON-Antwort enthält zwei Stammelemente:

Weitere Hilfe zum Parsen von JSON-Antworten finden Sie unter Verarbeitung von JSON mit JavaScript.

XML
<?xml version="1.0" encoding="UTF-8"?>
<AutocompletionResponse>
 <status>OK</status>
 <prediction>
  <description>pizza near Sydney, New South Wales, Australia</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Sydney</value>
   <offset>11</offset>
  </term>
  <term>
   <value>New South Wales</value>
   <offset>19</offset>
  </term>
  <term>
   <value>Australia</value>
   <offset>36</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>6</offset>
   <length>4</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>5</length>
  </matched_substring>
 </prediction>
 <prediction>
  <description>pizza near Sydney, NS, Canada</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Sydney</value>
   <offset>11</offset>
  </term>
  <term>
   <value>NS</value>
   <offset>19</offset>
  </term>
  <term>
   <value>Canada</value>
   <offset>23</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>6</offset>
   <length>4</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>5</length>
  </matched_substring>
 </prediction>
...additional results ...
 <prediction>
  <description>Bondi Pizza, Campbell Parade, Sydney, New South Wales, Australia</description>
  <type>establishment</type>
  <place_id>ChIJv0wpwp6tEmsR0Glcf5tugrk</place_id>
  <reference>ClRPAAAADqzkHp7ZNKcaFxP-foYYI5dix_sSaqfkUgxEYaJrB0ntyg704tMG8sEJjebhIVLW4viCsKtnlxiBrrFk9fxq0ruf4oUdQDfv7zwmS4P68KQSEPKUkFNTgit63QOGRYeElv4aFJnD0wN2thFO6XFRq2JsHzQEirvC</reference>
  <id>c478ed4e7cb075b307fdce4ad4f6c9d15cab01d7</id>
  <term>
   <value>Bondi Pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>Campbell Parade</value>
   <offset>13</offset>
  </term>
  <term>
   <value>Sydney</value>
   <offset>30</offset>
  </term>
  <term>
   <value>New South Wales</value>
   <offset>38</offset>
  </term>
  <term>
   <value>Australia</value>
   <offset>55</offset>
  </term>
  <matched_substring>
   <offset>6</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>30</offset>
   <length>5</length>
  </matched_substring>
 </prediction>
</AutocompletionResponse>

Eine XML-Antwort besteht aus dem einzigen Element <AutocompletionResponse> mit zwei Typen untergeordneter Elemente:

  • Das Element <status>, das Metadaten zur Anforderung enthält. Weitere Informationen finden Sie weiter unten unter Statuscodes.
  • Kein oder mehrere Elemente <prediction>, die jeweils Informationen zu einer Abfragevorhersage enthalten. Weitere Informationen zu diesen Ergebnissen finden Sie unter Ergebnisse mit automatischer Vervollständigung von Abfragen.

Sie sollten json als das bevorzugte Ausgabe-Flag verwenden, sofern Ihre Anwendung nicht xml verlangt. Die Verarbeitung von XML-Strukturen erfordert einige Sorgfalt. Knoten und Elemente müssen präzise referenziert werden. Weitere Hilfe zur XML-Verarbeitung finden Sie in Parsing von XML mit XPath.

Statuscodes

Das Feld status im Objekt „Query Autocomplete response“ enthält den Status der Anforderung und kann auch Debuginformationen enthalten, die Ihnen helfen sollen, herauszufinden, warum die Anforderung nicht erfolgreich war. Das Feld status kann folgende Werte enthalten:

  • OK gibt an, dass keine Fehler aufgetreten sind und mindestens ein Ergebnis zurückgegeben wurde.
  • ZERO_RESULTS gibt an, dass die Suche erfolgreich war, aber keine Ergebnisse zurückgegeben hat. Dies kann eintreten, wenn der Suche das Objekt bounds in einem Remotestandort übergeben wurde.
  • OVER_QUERY_LIMIT gibt an, dass Sie das Kontingent überschritten haben.
  • REQUEST_DENIED gibt an, dass Ihre Anforderung abgelehnt wurde. Dies ist in der Regel der Fall, wenn der Parameter key fehlt oder ungültig ist.
  • INVALID_REQUEST gibt normalerweise an, dass der Parameter input fehlt.

Fehlermeldungen

Wenn der Ortsdienst einen anderen Statuscode als OK zurückgibt, wird ggf. das zusätzliche Feld error_message im Antwortobjekt angezeigt. Dieses Feld enthält weitere detaillierte Informationen zu den Gründen für den zurückgegebenen Statuscode.

Ergebnisse mit automatischer Vervollständigung von Abfragen

Wenn der Ortsdienst JSON-Ergebnisse von einer Suche zurückgibt, stellt er diese in das Array predictions. Auch wenn der Dienst keine Ergebnisse zurückgibt (wie wenn location remote ist), gibt er dennoch das leere Array predictions zurück. XML-Antworten bestehen aus keinem oder mehreren Elementen vom Typ <prediction>.

Jedes Vorhersageergebnis hat folgende Felder:

  • description enthält den Namen für das zurückgegebene Ergebnis in einer vom Menschen lesbaren Form. Bei Ergebnissen für establishment handelt es sich normalerweise um den Namen des Unternehmens.
  • terms enthält ein Array von Begriffen, die jeden Abschnitt der zurückgegebenen Beschreibung identifizieren (ein Abschnitt der Beschreibung endet in der Regel mit einem Komma). Jeder Eintrag im Array hat ein Feld value, das den Text des Begriffs enthält, sowie ein Feld offset, das die Startposition dieses Begriffs in der Beschreibung in Unicode-Zeichen festlegt.
  • matched_substring enthält die Werte offset und length. Sie beschreiben die Position des eingegebenen Begriffs im Text des Vorhersageergebnisses, sodass der Begriff bei Bedarf hervorgehoben werden kann.

Beachten Sie, dass einige der Vorhersagen Orte sein können, und die Felder place_id, reference und type sind in diesen Vorhersagen eingeschlossen. Weitere Informationen zu diesen Ergebnissen finden Sie unter Ergebnisse mit automatischer Vervollständigung von Orten.

Der Parameter sensor

Zuvor war in Google Places API Web Service die Angabe des Parameters sensor erforderlich. Damit wurde festgelegt, ob seitens der Anwendung ein Sensor zur Ermittlung des Benutzerstandorts verwendet wurde. Dieser Parameter wird nicht mehr benötigt.

Feedback geben zu...

location_on
Google Places API Web Service