Von v3-Funktionen zum SearchDestinations-Endpunkt migrieren

Entwickler im Europäischen Wirtschaftsraum (EWR)

Die folgenden Funktionen in der Geocoding API v3 werden durch den SearchDestinations-Endpunkt der Geocoding API v4 ersetzt:

  • Einstiege
  • Navigationspunkte
  • Gebäudeumrisse
  • Außengelände

Wenn Sie die Geocoding API v3 für die oben genannten Funktionen verwendet haben, können Sie in diesem Dokument nachlesen, wie Sie stattdessen den SearchDestinations-Endpunkt verwenden. In diesem Dokument wird erläutert, wo in der SearchDestinations API-Antwort diese Funktionen zu finden sind, und es werden Unterschiede in der Darstellung dieser Funktionen in den API-Antworten zwischen der Geocoding API v3 und dem SearchDestinations-Endpunkt der Geocoding API v4 beschrieben.

Einstiege

Verwenden Sie das Feld destination.entrances, um die Eingänge abzurufen, die mit einem destination verknüpft sind.

Das Format eines entrance unterscheidet sich leicht vom Eingangsformat in der Geocoding API v3. Jeder Eintrag in destination.entrances hat die folgenden Felder:

  • displayName: Dies ist ein neues optionales Feld mit einem für Menschen lesbaren Namen für den Eingang, z. B. „Tor B“.
  • location: Dies ist ein Ort vom Typ LatLng, der sich vom Format der Geocoding API v3 unterscheidet.
  • tags: Dies entspricht dem Feld tags der Eingänge aus der Geocoding API v3.
  • place: Entspricht dem Feld buildingPlaceId der Eingänge aus der Geocoding API v3. Die Orts-ID in diesem Feld kann jedoch für einen Ort beliebigen Typs sein, nicht unbedingt nur für ein Gebäude.

Verwenden Sie das Feld destination.navigationPoints, um die Navigationspunkte abzurufen, die mit einem destination verknüpft sind.

Das Format von navigationPoint unterscheidet sich geringfügig vom Format des Navigationspunkts in der Geocoding API v3. Jeder Navigationspunkt in destination.navigationPoints hat die folgenden Felder:

  • displayName: Dies ist ein neues optionales Feld mit einem für Menschen lesbaren Namen für den Navigationspunkt, z. B. „5th Ave“.
  • location: Dies ist ein Ort vom Typ LatLng, der sich vom Format der Geocoding API v3 unterscheidet.
  • travelModes: Dies entspricht dem Feld restrictedTravelModes der Navigationspunkte aus der Geocoding API v3. Die möglichen Enum-Werte sind dieselben. Der einzige Unterschied besteht darin, dass dieses Feld jetzt die zulässigen Fortbewegungsmittel für den Navigationspunkt und nicht die eingeschränkten Fortbewegungsmittel darstellt.
  • usage: Dies ist ein neues Feld, das die vom Navigationspunkt unterstützten Anwendungsfälle enthält. Die meisten Navigationspunkte haben eine UNKNOWN-Nutzung. Das bedeutet jedoch nicht, dass die Nutzung des Navigationspunkts in irgendeiner Weise eingeschränkt ist.

Gebäudeumrisse

Wenn Sie die mit einem destination verknüpften Gebäudeumrisse abrufen möchten, sollten Sie das Feld displayPolygon der placeView-Objekte im destination verwenden, die Gebäude darstellen. Für jedes placeView können Sie mit dem Feld placeView.structureType prüfen, ob es sich um ein Gebäude handelt. Wenn der Strukturtyp BUILDING ist, können Sie den Umriss aus dem Feld placeView.displayPolygon abrufen. Die placeView enthält auch zusätzliche Felder für das Gebäude, die in der Geocoding API v3 nicht vorhanden waren.

Ein destination kann ein placeView-Objekt haben, das ein Gebäude in den folgenden Feldern darstellt:

  • destination.primary: Dies ist der primäre Ort für das Ziel.
  • destination.containingPlaces: Dies ist ein wiederkehrendes Feld, das größere Orte enthalten kann, die den primären Ort „enthalten“. Wenn der primäre Ort beispielsweise ein subpremise ist, enthält containingPlaces in der Regel die placeView, die das Gebäude repräsentiert.
  • destination.subDestinations: Dies ist ein wiederholtes Feld, das Unterziele des primären Orts enthalten kann. Beispielsweise einzelne Wohneinheiten eines Gebäudes. Dieses Feld enthält in der Regel kein placeView für ein Gebäude.

Das Format von placeView.displayPolygon entspricht dem Format für Gebäudeumrisse in der Geocoding API v3, also dem GeoJSON-Format gemäß RFC 7946.

Außengelände

Ähnlich wie beim Erstellen von Umrisslinien sollten Sie zum Abrufen der mit einem destination verknüpften Gründen das Feld displayPolygon der placeView-Objekte im destination verwenden, die Gründe darstellen. Für jede placeView können Sie mit dem Feld placeView.structureType prüfen, ob es sich um einen Grund handelt. Wenn der Strukturtyp GROUNDS ist, können Sie die Gliederung aus dem Feld placeView.displayPolygon abrufen. Das placeView enthält auch zusätzliche Felder für die Gründe, die in der Geocoding API v3 nicht vorhanden waren.

Ein destination kann ein placeView-Objekt enthalten, das einen Grund in den folgenden Feldern darstellt:

  • destination.primary
  • destination.containingPlaces
  • destination.subDestinations

Das Format von placeView.displayPolygon entspricht dem Format für den Umriss von Grundstücken in der Geocoding API v3, also dem GeoJSON-Format, das das RFC 7946-Format verwendet.

Feldmaske verwenden, um diese Funktionen anzufordern

Für den Endpunkt SearchDestinations ist eine Feldmaske erforderlich, wie unter Zurückzugebende Felder auswählen beschrieben. Die Feldmaske kann auf * gesetzt werden, um alle Felder zurückzugeben. Sie können sie aber auch auf die gewünschten Felder festlegen. Mit der folgenden API-Anfrage wird beispielsweise die Feldmaske so festgelegt, dass alle Felder abgerufen werden, die zum Abrufen der Eingänge, Navigationspunkte, Gebäudeumrisse und Grundstücke eines Ziels erforderlich sind:

curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \
  -H "X-Goog-Api-Key: API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary,destinations.containingPlaces,destinations.subDestinations" \
  https://geocode.googleapis.com/v4alpha/geocode/destinations