Nearby Search (New)

Plattform auswählen: Android iOS JavaScript Webdienst
Entwickler im Europäischen Wirtschaftsraum (EWR)

Einführung

Bei einer Nearby Search (New) Anfrage werden ein oder mehrere Ortstypen angegeben und eine Liste mit passenden Orten im angegebenen Bereich zurückgegeben. Eine Feldmaske mit einem oder mehreren Datentypen ist erforderlich. „Nearby Search (New)“ unterstützt nur POST-Anfragen.

Mit dem APIs Explorer können Sie Live-Anfragen stellen, um sich mit der API und den API-Optionen vertraut zu machen:

In der interaktiven Demo können Sie sich die Ergebnisse von „Nearby Search (New)“ auf einer Karte ansehen.

„Nearby Search (New)“-Anfragen

Eine „Nearby Search (New)“-Anfrage ist eine HTTP-POST-Anfrage an eine URL im folgenden Format:

https://places.googleapis.com/v1/places:searchNearby

Übergeben Sie alle Parameter im JSON-Anfragetext oder in Headern als Teil der POST-Anfrage. Beispiel:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby

„Nearby Search (New)“-Antworten

„Nearby Search (New)“ gibt ein JSON-Objekt als Antwort zurück. Die Antwort sieht so aus:

  • Das Array places enthält alle passenden Orte.
  • Jeder Ort im Array wird durch ein Place Objekt dargestellt. Das Place Objekt enthält detaillierte Informationen zu einem einzelnen Ort.
  • Die in der Anfrage übergebene FieldMask gibt die Liste der Felder an, die im Place Objekt zurückgegeben werden.

Das vollständige JSON-Objekt hat das folgende Format:

{
  "places": [
    {
      object (Place)
    }
  ]
}

Erforderliche Parameter

  • FieldMask

    Geben Sie die Liste der Felder an, die in der Antwort zurückgegeben werden sollen, indem Sie eine Feldmaske für die Antwort erstellen. Übergeben Sie die Feldmaske für die Antwort an die Methode, indem Sie den URL-Parameter $fields oder fields, oder indem Sie den HTTP-Header X-Goog-FieldMask verwenden. Es gibt keine Standardliste der in der Antwort zurückgegebenen Felder. Wenn Sie die Feldmaske weglassen, gibt die Methode einen Fehler zurück.

    Mit der Maskierung von Feldern lässt sich verhindern, dass unnötige Daten angefordert werden was wiederum hilft, unnötige Verarbeitungszeiten und Gebühren zu vermeiden.

    Geben Sie eine durch Kommas getrennte Liste der zurückzugebenden Ortsdatentypen an. Beispiel: So rufen Sie den Anzeigenamen und die Adresse des Orts ab.

    X-Goog-FieldMask: places.displayName,places.formattedAddress

    Verwenden Sie *, um alle Felder abzurufen.

    X-Goog-FieldMask: *

    Geben Sie mindestens eines der folgenden Felder an:

    • Die folgenden Felder lösen die SKU „Nearby Search Pro“ aus:

      places.accessibilityOptions
      places.addressComponents
      places.addressDescriptor*
      places.adrFormatAddress
      places.attributions
      places.businessStatus
      places.consumerAlert
      places.containingPlaces
      places.displayName
      places.formattedAddress
      places.googleMapsLinks
      places.googleMapsTypeLabel
      places.googleMapsUri
      places.iconBackgroundColor
      places.iconMaskBaseUri
      places.id
      places.location
      places.name**
      places.movedPlace
      places.movedPlaceId
      places.openingDate
      places.photos
      places.plusCode
      places.postalAddress
      places.primaryType
      places.primaryTypeDisplayName
      places.pureServiceAreaBusiness
      places.shortFormattedAddress
      places.subDestinations
      places.timeZone
      places.types
      places.utcOffsetMinutes
      places.viewport

      * Adressdeskriptoren sind in der Regel für Kunden in Indien verfügbar und werden an anderen Orten als Testfunktion angeboten.

      ** Das Feld places.name enthält den Ressourcennamen des Orts im folgenden Format: places/PLACE_ID. Verwenden Sie places.displayName , um auf den Textnamen des Orts zuzugreifen.

      Eine vollständige Liste der Felder und der zugehörigen SKUs finden Sie unter Felder für Ortsdaten (neu).

    • Die folgenden Felder lösen die SKU „Nearby Search Enterprise“ aus:

      places.currentOpeningHours
      places.currentSecondaryOpeningHours
      places.internationalPhoneNumber
      places.nationalPhoneNumber
      places.priceLevel
      places.priceRange
      places.rating
      places.regularOpeningHours
      places.regularSecondaryOpeningHours
      places.transitStation
      places.userRatingCount
      places.websiteUri

      Eine vollständige Liste der Felder und der zugehörigen SKUs finden Sie unter Felder für Ortsdaten (neu).

    • Die folgenden Felder lösen die SKU „Nearby Search Enterprise + Atmosphere“ aus:

      places.allowsDogs
      places.curbsidePickup
      places.delivery
      places.dineIn
      places.editorialSummary
      places.evChargeAmenitySummary
      places.evChargeOptions
      places.fuelOptions
      places.generativeSummary
      places.goodForChildren
      places.goodForGroups
      places.goodForWatchingSports
      places.liveMusic
      places.menuForChildren
      places.neighborhoodSummary
      places.parkingOptions
      places.paymentOptions
      places.outdoorSeating
      places.reservable
      places.restroom
      places.reviews
      places.reviewSummary
      routingSummaries*
      places.servesBeer
      places.servesBreakfast
      places.servesBrunch
      places.servesCocktails
      places.servesCoffee
      places.servesDessert
      places.servesDinner
      places.servesLunch
      places.servesVegetarianFood
      places.servesWine
      places.takeout

      * Nur für die Textsuche und die Suche nach Orten in der Nähe

      Eine vollständige Liste der Felder und der zugehörigen SKUs finden Sie unter Felder für Ortsdaten (neu).

  • locationRestriction

    Die zu durchsuchende Region, angegeben als Kreis mit Mittelpunkt und Radius in Metern. Der Radius muss zwischen 0,0 und 50.000,0 liegen. Der Standardradius ist 0,0. Sie müssen ihn in Ihrer Anfrage auf einen Wert über 0,0 festlegen.

    Beispiel:

    "locationRestriction": {
      "circle": {
        "center": {
          "latitude": 37.7937,
          "longitude": -122.3965
        },
        "radius": 500.0
      }
    }

Optionale Parameter

  • includeFutureOpeningBusinesses

    Wenn true, werden Unternehmen zurückgegeben, die voraussichtlich in Zukunft eröffnet werden. Standardmäßig ist false festgelegt.

    Wenn Sie den Unternehmensstatus abrufen möchten, fügen Sie places.businessStatus in die Feldmaske Ihrer Anfrage ein. Wenn Sie das voraussichtliche Eröffnungsdatum des Unternehmens abrufen möchten, fügen Sie places.openingDate in die Feld maske Ihrer Anfrage ein.

  • includedTypes/excludedTypes, includedPrimaryTypes/excludedPrimaryTypes

    Hier können Sie eine Liste von Typen aus Typen Tabelle A angeben, die zum Filtern der Suchergebnisse verwendet werden. In jeder Kategorie für Typbeschränkungen können bis zu 50 Typen angegeben werden.

    Ein Ort kann nur einen primären Typ aus Typen Tabelle A haben, der damit verbunden ist. Der primäre Typ kann beispielsweise "mexican_restaurant" oder "steak_house" sein. Verwenden Sie includedPrimaryTypes und excludedPrimaryTypes, um die Ergebnisse nach dem primären Typ eines Orts zu filtern.

    Ein Ort kann auch mehrere Typwerte aus Typen Tabelle A haben. Ein Restaurant kann beispielsweise die folgenden Typen haben: "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment". Verwenden Sie includedTypes und excludedTypes, um die Ergebnisse nach der Liste der Typen zu filtern, die einem Ort zugeordnet sind.

    Wenn Sie einen allgemeinen primären Typ angeben, z. B. "restaurant" oder "hotel", kann die Antwort Orte mit einem spezifischeren primären Typ als dem angegebenen enthalten. Sie geben beispielsweise an, dass ein primärer Typ von "restaurant" eingeschlossen werden soll. Die Antwort kann dann Orte mit dem primären Typ "restaurant" enthalten, aber auch Orte mit einem spezifischeren primären Typ wie "chinese_restaurant" oder "seafood_restaurant".

    Wenn eine Suche mit mehreren Typbeschränkungen angegeben wird, werden nur Orte die alle Beschränkungen erfüllen, zurückgegeben. Wenn Sie beispielsweise {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]} angeben, bieten die zurückgegebenen Orte Dienste im Zusammenhang mit "restaurant", sind aber nicht in erster Linie als "steak_house" tätig.

    includedTypes

    Eine durch Kommas getrennte Liste der Ortstypen aus Tabelle A, nach denen gesucht werden soll. Wenn dieser Parameter weggelassen wird, werden Orte aller Typen zurückgegeben.

    excludedTypes

    Eine durch Kommas getrennte Liste der Ortstypen aus Tabelle A, die von einer Suche ausgeschlossen werden sollen.

    Wenn Sie in der Anfrage sowohl includedTypes ( z. B. "school") als auch excludedTypes (z. B. "primary_school") angeben, enthält die Antwort Orte, die als "school" kategorisiert sind, aber nicht als "primary_school". Die Antwort enthält Orte, die mindestens einem der includedTypes entsprechen und keinem der excludedTypes.

    Wenn es widersprüchliche Typen gibt, z. B. ein Typ, der sowohl in includedTypes als auch in excludedTypes vorkommt, wird ein INVALID_REQUEST Fehler zurückgegeben.

    includedPrimaryTypes

    Eine durch Kommas getrennte Liste der primären Ortstypen aus Tabelle A, die in eine Suche einbezogen werden sollen.

    excludedPrimaryTypes

    Eine durch Kommas getrennte Liste der primären Ortstypen aus Tabelle A, die von einer Suche ausgeschlossen werden sollen von einer Suche.

    Wenn es widersprüchliche primäre Typen gibt, z. B. ein Typ, der sowohl in includedPrimaryTypes als auch in excludedPrimaryTypes vorkommt, wird ein INVALID_ARGUMENT Fehler zurückgegeben.

  • languageCode

    Die Sprache, in der die Ergebnisse zurückgegeben werden sollen.

    • Hier finden Sie eine Liste der unterstützten Sprachen. Die unterstützten Sprachen werden regelmäßig von Google aktualisiert, sodass diese Liste möglicherweise nicht vollständig ist.
    • Wenn languageCode nicht angegeben wird, verwendet die API standardmäßig en. Wenn Sie einen ungültigen Sprachcode angeben, gibt die API einen INVALID_ARGUMENTFehler zurück.
    • Die API versucht, eine Straßenadresse bereitzustellen, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Zu diesem Zweck werden Straßenadressen in der lokalen Sprache zurückgegeben, bei Bedarf in ein für den Nutzer lesbares Schriftsystem transliteriert, wobei die bevorzugte Sprache berücksichtigt wird. Alle übrigen Adressen werden in der bevorzugten Sprache zurückgegeben. Adresskomponenten werden alle in derselben Sprache zurückgegeben, die anhand der ersten Komponente ausgewählt wird.
    • Wenn der Name in der bevorzugten Sprache nicht verfügbar ist, verwendet die API die am besten passende Entsprechung.
    • Die bevorzugte Sprache hat einen geringen Einfluss auf die Menge der Ergebnisse, die von der API zurückgegeben werden, und auf die Reihenfolge, in der sie zurückgegeben werden. Der Geocoder interpretiert Abkürzungen je nach Sprache unterschiedlich, z. B. die Abkürzungen für Straßentypen oder Synonyme die in einer Sprache gültig sein können, in einer anderen jedoch nicht.
  • maxResultCount

    Gibt die maximale Anzahl der zurückzugebenden Ortsdaten an. Muss zwischen 1 und 20 (Standard) liegen.

  • rankPreference

    Die Art der zu verwendenden Rangfolge. Wenn dieser Parameter weggelassen wird, werden die Ergebnisse nach Beliebtheit sortiert. Mögliche Werte:

    • POPULARITY (Standard) Sortiert die Ergebnisse nach Beliebtheit.
    • DISTANCE Sortiert die Ergebnisse in aufsteigender Reihenfolge nach der Entfernung vom angegebenen Standort.
  • regionCode

    Der Regionscode, der zum Formatieren der Antwort verwendet wird, angegeben als CLDR-Code mit zwei Zeichen. Es gibt keinen Standardwert.

    Wenn der Ländername des Felds formattedAddress in der Antwort mit dem regionCode übereinstimmt, wird der Ländercode aus formattedAddress weggelassen. Dieser Parameter hat keine Auswirkungen auf adrFormatAddress, das immer den Ländernamen enthält, oder auf shortFormattedAddress, das ihn nie enthält.

    Die meisten CLDR-Codes sind mit den ISO 3166-1-Codes identisch, es gibt jedoch einige Ausnahmen. So lautet beispielsweise die ccTLD des Vereinigten Königreichs ist „uk“ (.co.uk) und der ISO 3166-1-Code „gb“ (technisch für die Einheit „Vereinigtes Königreich Großbritannien und Nordirland“). Der Parameter kann sich je nach geltendem Recht auf die Ergebnisse auswirken.

Beispiele für „Nearby Search (New)“

Orte eines Typs finden

Das folgende Beispiel zeigt eine „Nearby Search (New)“-Anfrage für die Anzeigenamen aller Restaurants im Umkreis von 500 Metern, definiert durch circle:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby

Der Header X-Goog-FieldMask gibt an, dass die Antwort die folgenden Datenfelder enthält: places.displayName. Die Antwort hat dann das folgende Format:

{
  "places": [
    {
      "displayName": {
        "text": "La Mar Cocina Peruana",
        "languageCode": "en"
      }
    },
    {
      "displayName": {
        "text": "Kokkari Estiatorio",
        "languageCode": "en"
      }
    },
    {
      "displayName": {
        "text": "Harborview Restaurant & Bar",
        "languageCode": "en"
      }
    },
...
}

Fügen Sie der Feldmaske weitere Datentypen hinzu, um zusätzliche Informationen zurückzugeben. Fügen Sie beispielsweise places.formattedAddress,places.types,places.websiteUri hinzu, um die Adresse, den Typ und die Webadresse des Restaurants in die Antwort aufzunehmen:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri" \
https://places.googleapis.com/v1/places:searchNearby

Die Antwort hat jetzt das folgende Format:

{
  "places": [
    {
      "types": [
        "seafood_restaurant",
        "restaurant",
        "food",
        "point_of_interest",
        "establishment"
      ],
      "formattedAddress": "PIER 1 1/2 The Embarcadero N, San Francisco, CA 94105, USA",
      "websiteUri": "http://lamarsf.com/",
      "displayName": {
        "text": "La Mar Cocina Peruana",
        "languageCode": "en"
      }
    },
    {
      "types": [
        "greek_restaurant",
        "meal_takeaway",
        "restaurant",
        "food",
        "point_of_interest",
        "establishment"
      ],
      "formattedAddress": "200 Jackson St, San Francisco, CA 94111, USA",
      "websiteUri": "https://kokkari.com/",
      "displayName": {
        "text": "Kokkari Estiatorio",
        "languageCode": "en"
      }
    },
...
}

Orte mehrerer Typen finden

Das folgende Beispiel zeigt eine „Nearby Search (New)“-Anfrage für die Anzeigenamen aller Lebensmittelgeschäfte und Spirituosengeschäfte im Umkreis von 1.000 Metern um den angegebenen circle:

curl -X POST -d '{
  "includedTypes": ["liquor_store", "convenience_store"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 1000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.primaryType,places.types" \
https://places.googleapis.com/v1/places:searchNearby
In diesem Beispiel werden places.primaryType und places.types zur Feldmaske hinzugefügt, damit die Antwort Typinformationen zu jedem Ort enthält. So lässt sich der passende Ort leichter aus den Ergebnissen auswählen.

Das folgende Beispiel zeigt eine „Nearby Search (New)“-Anfrage für alle Orte vom Typ "school", wobei alle Orte vom Typ "primary_school" ausgeschlossen werden und die Ergebnisse nach Entfernung sortiert werden:

curl -X POST -d '{
  "includedTypes": ["school"],
  "excludedTypes": ["primary_school"],
  "maxResultCount": 10,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 1000.0
    }
  },
  "rankPreference": "DISTANCE"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby

Nach allen Orten in der Nähe einer Region suchen und nach Entfernung sortieren

Das folgende Beispiel zeigt eine „Nearby Search (New)“-Anfrage für Orte in der Nähe eines Punkts in der Innenstadt von San Francisco. In diesem Beispiel wird der Parameter rankPreference verwendet, um die Ergebnisse nach Entfernung zu sortieren:

curl -X POST -d '{
  "maxResultCount": 10,
  "rankPreference": "DISTANCE",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 1000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName" \
https://places.googleapis.com/v1/places:searchNearby

Adressdeskriptoren abrufen

Adressdeskriptoren liefern relationale Informationen zum Standort eines Orts, einschließlich nahe gelegener Sehenswürdigkeiten und enthaltener Bereiche.

Das folgende Beispiel zeigt eine „Nearby Search (New)“-Anfrage für Orte in der Nähe eines Einkaufszentrums in San Jose. In diesem Beispiel wird addressDescriptors in die Feldmaske aufgenommen:

curl -X POST -d '{
  "maxResultCount": 5,
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.321328,
        "longitude": -121.946275
      },"radius": 1000
    }
  },
  "includedTypes": ["restaurant", "cafe"],
  "excludedTypes": [],
  "rankPreference":"POPULARITY"
}' \
-H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.addressDescriptor" \
https://places.googleapis.com/v1/places:searchNearby

Die Antwort enthält den in der Anfrage angegebenen Ort, eine Liste der nahe gelegenen Sehenswürdigkeiten und ihre Entfernung zum Ort sowie eine Liste der Bereiche und ihre Beziehung zum Ort:

  {
    "places": [
      {
        "displayName": {
          "text": "Westfield Valley Fair",
          "languageCode": "en"
        },
        "addressDescriptor": {
          "landmarks": [
            {
              "name": "places/ChIJ62_oCR7Lj4AR_MGWkSPotD4",
              "placeId": "ChIJ62_oCR7Lj4AR_MGWkSPotD4",
              "displayName": {
                "text": "Nordstrom",
                "languageCode": "en"
              },
              "types": [
                "clothing_store",
                "department_store",
                "establishment",
                "point_of_interest",
                "shoe_store",
                "store"
              ],
              "straightLineDistanceMeters": 114.76984,
              "travelDistanceMeters": 114.261856
            },
            {
              "name": "places/ChIJgexMlR_Lj4ARiKCKuhNnjn0",
              "placeId": "ChIJgexMlR_Lj4ARiKCKuhNnjn0",
              "displayName": {
                "text": "Valley Fair Mall Eyexam of CA",
                "languageCode": "en"
              },
              "types": [
                "establishment",
                "health",
                "point_of_interest"
              ],
              "straightLineDistanceMeters": 131.62566,
              "travelDistanceMeters": 237.33253
            },
            {
              "name": "places/ChIJWWIlNx7Lj4ARpe1E0ob-_GI",
              "placeId": "ChIJWWIlNx7Lj4ARpe1E0ob-_GI",
              "displayName": {
                "text": "Din Tai Fung",
                "languageCode": "en"
              },
              "types": [
                "establishment",
                "food",
                "point_of_interest",
                "restaurant"
              ],
              "straightLineDistanceMeters": 110.0775,
              "travelDistanceMeters": 171.41951
            },
            {
              "name": "places/ChIJwyfPQx7Lj4AR7bYI2A2Yc54",
              "placeId": "ChIJwyfPQx7Lj4AR7bYI2A2Yc54",
              "displayName": {
                "text": "Abercrombie & Fitch",
                "languageCode": "en"
              },
              "types": [
                "clothing_store",
                "establishment",
                "point_of_interest",
                "shoe_store",
                "store"
              ],
              "spatialRelationship": "DOWN_THE_ROAD",
              "straightLineDistanceMeters": 53.620117,
              "travelDistanceMeters": 2.4578214
            },
            {
              "name": "places/ChIJpycNQx7Lj4ARjhXw3PrM_kU",
              "placeId": "ChIJpycNQx7Lj4ARjhXw3PrM_kU",
              "displayName": {
                "text": "Hollister Co.",
                "languageCode": "en"
              },
              "types": [
                "clothing_store",
                "establishment",
                "point_of_interest",
                "shoe_store",
                "store"
              ],
              "spatialRelationship": "DOWN_THE_ROAD",
              "straightLineDistanceMeters": 56.53726,
              "travelDistanceMeters": 15.418246
            }
          ],
          "areas": [
            {
              "name": "places/ChIJb3F-EB7Lj4ARnHApQ_Hu1gI",
              "placeId": "ChIJb3F-EB7Lj4ARnHApQ_Hu1gI",
              "displayName": {
                "text": "Westfield Valley Fair",
                "languageCode": "en"
              },
              "containment": "WITHIN"
            },
            {
              "name": "places/ChIJXYuykB_Lj4AR1Ot8nU5q26Q",
              "placeId": "ChIJXYuykB_Lj4AR1Ot8nU5q26Q",
              "displayName": {
                "text": "Valley Fair",
                "languageCode": "en"
              },
              "containment": "WITHIN"
            },
            {
              "name": "places/ChIJtYoUX2DLj4ARKoKOb1G0CpM",
              "placeId": "ChIJtYoUX2DLj4ARKoKOb1G0CpM",
              "displayName": {
                "text": "Central San Jose",
                "languageCode": "en"
              },
              "containment": "OUTSKIRTS"
            }
          ]
        }
      },
  /.../
  }

Unternehmen finden, die in Zukunft eröffnet werden

Das folgende Beispiel zeigt eine „Nearby Search (New)“-Anfrage für Unternehmen, die in Zukunft in New Meadows, Idaho, eröffnet werden:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.businessStatus,places.openingDate" \
-d '{
  "includeFutureOpeningBusinesses": true,
  "maxResultCount": 20,
  "locationRestriction": {
    "circle": {
      "center": {"latitude": 44.9755100, "longitude": -116.2842180},
      "radius": 20
    }
  },
  "rankPreference": "DISTANCE"
}' \
"https://places.googleapis.com/v1/places:searchNearby"

Die Antwort enthält Unternehmen, die in Zukunft eröffnet werden, zusammen mit ihrem Unternehmensstatus und dem voraussichtlichen Eröffnungsdatum:

{
  "places": [
    {
      "id": "ChIJp1-VoKWJplQRMz8g-7Wa3Do",
      "businessStatus": "FUTURE_OPENING",
      "displayName": {
        "text": "Roberts Greenhouse and Tree Farm",
        "languageCode": "en"
      },
      "openingDate": {
        "year": 2026,
        "month": 4,
        "day": 15
      }
    }
  ]
}

Informationen zu Bahnhöfen und Haltestellen abrufen

Mit „Nearby Search (New)“ können Sie Informationen zu Bahnhöfen und Haltestellen im Umkreis eines bestimmten Radius um einen bestimmten Standort abrufen. Der Antworttext enthält Informationen zum Bahnhof oder zur Haltestelle, einschließlich des Namens, der angeschlossenen Verkehrsbetriebe und der Linien, die den Bahnhof oder die Haltestelle bedienen. Außerdem enthält die Antwort ein Fahrzeugsymbol und Farben, mit denen Sie die Informationen zum Bahnhof oder zur Haltestelle anzeigen können.

Das folgende Beispiel zeigt eine Anfrage für Bahnhöfe und Haltestellen im Umkreis von 50 Metern um Midtown Manhattan:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.transitStation" \
-d '{
  "includedTypes": ["transit_station"],
  "locationRestriction": {
    "circle": {
      "center": {"latitude": 40.754851, "longitude": -73.984164},
      "radius": 50.0
    }
  }
}' \
"https://places.googleapis.com/v1/places:searchNearby"

Der Antworttext enthält Informationen zu jedem Bahnhof oder jeder Haltestelle im Radius, zu den Linien, die den Bahnhof oder die Haltestelle bedienen, zu Warnmeldungen von Verkehrsbetrieben an dieser Haltestelle und zu Abfahrtsinformationen:

{
  "places": [
    {
      "id": "ChIJH2EstKpZwokRCwZtYyMd5Fg",
      "displayName": {
        "text": "6 Av/W 41 St",
        "languageCode": "en"
      },
      "transitStation": {
        "displayName": {
          "text": "6 Av/W 41 St",
          "languageCode": "en"
        },
        "agencies": [
          {
            "displayName": {
              "text": "ShortLine Hudson",
              "languageCode": "en"
            },
            "url": "https://www.coachusa.com/",
            "lines": [
              {
                "id": "ChIJSQlbzvPwwokRolrIA-Kuh6o",
                "vehicleType": "BUS",
                "displayName": {
                  "text": "200 - Northern District – Nanuet",
                  "languageCode": "en"
                },
                "shortDisplayName": {
                  "text": "ShortLine Hudson",
                  "languageCode": "en"
                },
                "textColor": "#000000",
                "backgroundColor": "#ED60A3",
                "vehicleIcon": {
                  "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/bus2.svg"
                }
              }
            ]
          },
          {
            "displayName": {
              "text": "MTA New York City Transit",
              "languageCode": "en"
            },
            "url": "http://www.mta.info/",
            "lines": [
              {
                "id": "ChIJjUrj7PBewokR3O3S2JVpBrI",
                "vehicleType": "SUBWAY",
                "displayName": {
                  "text": "E Train (8 Av Local)",
                  "languageCode": "en"
                },
                "shortDisplayName": {
                  "text": "E Line",
                  "languageCode": "en"
                },
                "textColor": "#FFFFFF",
                "backgroundColor": "#0039A6",
                "url": "https://www.mta.info/schedules/subway/e-train",
                "icon": {
                  "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/us-ny-mta/E.svg",
                  "nameIncluded": true
                },
                "vehicleIcon": {
                  "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/subway2.svg"
                }
              },
              ...
            ]
          },
        "stops": [
          {
            "id": "ChIJvRnquapZwokRdUOyVwNGbe8",
            "displayName": {
              "text": "6 Av/W 41 St",
              "languageCode": "en"
            },
            "location": {
              "latitude": 40.754509,
              "longitude": -73.984216500000016
            },
            "wheelchairAccessibleEntrance": true
          }
        ],
        "departureBoards": [
          {
            "displayType": "DIRECTION_CENTRIC",
            "rows": [
              {
                "departures": [
                  {
                    "timedDeparture": {
                      "scheduledTime": "2026-05-15T22:29:51Z",
                      "timingType": "SCHEDULED"
                    },
                    "originallyScheduledStopId": "ChIJvRnquapZwokRdUOyVwNGbe8",
                    "lineId": "ChIJA1aFyaZfwokRkO5869M6UXk"
                  }
                ]
              },
              {
                "departures": [
                  {
                    "timedDeparture": {
                      "scheduledTime": "2026-05-15T22:33:55Z",
                      "timingType": "SCHEDULED"
                    },
                    "originallyScheduledStopId": "ChIJvRnquapZwokRdUOyVwNGbe8",
                    "lineId": "ChIJj3iCEwJfwokRZE2Qtnm4pPI"
                  }
                ]
              },
              ...
            ]
          }
        ]
      }
    },
    ...
    {
      {
        "id": "ChIJPyq6TZBZwokRdGoiJ5Iq_hE",
        "vehicleType": "BUS",
        "displayName": {
          "text": "W 44 St - South Ferry",
          "languageCode": "en"
        },
        "shortDisplayName": {
          "text": "M55",
          "languageCode": "en"
        },
        "textColor": "#FFFFFF",
        "backgroundColor": "#1D59B3",
        "vehicleIcon": {
          "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/bus2.svg"
        },
        "alerts": [
          {
            "effect": "OTHER",
            "texts": [
              {
                "headline": {
                  "text": "Information",
                  "languageCode": "en"
                },
                "summary": {
                  "text": "Northbound M20 and M55 stop on State St at Bridge St is closed; use the temporary stop on State St before the intersection instead",
                  "languageCode": "en"
                },
                "fullDescription": {
                  "text": "See a map of the new stop location. What's happening? Construction",
                  "languageCode": "en"
                }
              }
            ],
            "detailsUrls": [
              {
                "url": "https://www.mta.info/"
              }
            ],
            "cause": "OTHER_CAUSE",
            "startTime": "2025-04-02T04:00:00Z",
            "endTime": "2026-06-15T00:00:00Z",
            "attribution": {
              "link": {
                "text": "www.mta.info",
                "url": "https://www.mta.info/"
              }
            },
            "createTime": "2026-05-15T22:32:00Z",
            "severityLevel": "INFO"
          }
        ]
      },
      ...
    }
    ...
  }

Eingänge und Navigationspunkte abrufen

Sie können Eingänge und Navigationspunkte für ein Ziel anfordern. Eingänge definieren Ein- und Ausgänge für einen Ort (z. B. verschiedene Gates an einem Flughafen oder in einem Einkaufszentrum). Navigationspunkte definieren Standorte am Straßenrand, an denen die Navigation enden soll. Das ist nützlich, um Nutzer zur richtigen Straßenseite oder zu einem bestimmten Abgabeort zu leiten.

Navigationspunkte geben ein navigationPointToken zurück. Sie können dieses Token an das Navigation SDK (verfügbar für Android oder iOS) oder die Routes API übergeben, um Fahrer zu diesem bestimmten Standort zu leiten. Weitere Informationen finden Sie unter Navigationspunkt-Tokens.

Das folgende Beispiel zeigt eine „Nearby Search (New)“-Anfrage, die entrances und navigationPoints in der Feldmaske enthält:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.id,places.displayName,places.entrances,places.navigationPoints" \
-d '{
  "includedTypes": ["airport"],
  "maxResultCount": 1,
  "locationRestriction": {
    "circle": {
      "center": {"latitude": 37.6193, "longitude": -122.3816},
      "radius": 1000.0
    }
  }
}' \
"https://places.googleapis.com/v1/places:searchNearby"

Die Antwort enthält die Eingänge und Navigationspunkte für den Ort:

{
  "places": [
    {
      "id": "ChIJVVVVVYx3j4ARP-3NGldc8qQ",
      "displayName": {
        "text": "San Francisco International Airport",
        "languageCode": "en"
      },
      "entrances": [
        {
          "location": {
            "latitude": 37.6172154,
            "longitude": -122.3839724
          }
        },
        {
          "location": {
            "latitude": 37.6174073,
            "longitude": -122.384196
          }
        },
        ...
      ],
      "navigationPoints": [
        {
          "navigationPointToken": "ChIJoioBjMLOQkAR0A3yH_eYXsA...",
          "displayName": {
            "text": "International Terminal Departures Level",
            "languageCode": "en"
          },
          "location": {
            "latitude": 37.6153121,
            "longitude": -122.3900833
          },
          "travelModes": ["WALK"]
        },
        {
          "navigationPointToken": "ChIJy5JKws_OQkAROx0jNN2YXsA...",
          "displayName": {
            "text": "Domestic Garage - SFO Short Term Parking",
            "languageCode": "en"
          },
          "location": {
            "latitude": 37.6157153,
            "longitude": -122.3885012
          },
          "travelModes": ["DRIVE", "WALK"],
          "usages": ["PARKING"]
        },
        ...
      ]
    }
  ]
}

Testen!

Mit dem APIs Explorer können Sie Beispielanfragen stellen, um sich mit der API und den API-Optionen vertraut zu machen.

  1. Wählen Sie rechts auf der Seite das API-Symbol api aus.

  2. Optional können Sie die Anfrageparameter bearbeiten.

  3. Wählen Sie die Schaltfläche Ausführen aus. Wählen Sie im Dialogfeld das Konto aus, das Sie für die Anfrage verwenden möchten.

  4. Wählen Sie im APIs Explorer-Bereich das Symbol für den Vollbildmodus fullscreen aus, um das APIs Explorer-Fenster zu maximieren.