Text Search (New)

Plattform auswählen: Android iOS JavaScript Webdienst

Bei einer Text Search (New)-Anfrage werden Informationen über eine Gruppe von Orten auf Grundlage eines Strings zurückgegeben, z. B. „Pizza in München“, „Schuhgeschäfte in der Nähe von Hamburg“ oder „Hauptstraße 123“. Der Dienst gibt eine Liste mit Orten zurück, die dem Textstring und ggf. der festgelegten Standortgewichtung entsprechen.

Der Dienst ist besonders nützlich, um mehrdeutige Adressabfragen in einem automatisierten System durchzuführen. Nicht-Adresskomponenten des Strings können sowohl mit Unternehmen als auch mit Adressen übereinstimmen. Beispiele für mehrdeutige Adressanfragen sind schlecht formatierte Adressen oder Anfragen, die nicht zu Adressen gehörende Komponenten wie Unternehmensnamen enthalten. Bei Anfragen wie den ersten beiden Beispielen in der folgenden Tabelle werden möglicherweise keine Ergebnisse zurückgegeben, es sei denn, ein Standort (z. B. eine Region, eine Standortbeschränkung oder eine Standortvorgabe) ist festgelegt.

„10 High Street, UK“ oder „123 Main Street, USA“ Mehrere „High Streets“ im Vereinigten Königreich; mehrere „Main Streets“ in den USA. Die Abfrage gibt nur dann die gewünschten Ergebnisse zurück, wenn eine Standortbeschränkung festgelegt ist.
„Kettenrestaurant New York“ Mehrere Standorte von „ChainRestaurant“ in New York; keine Adresse und kein Straßenname
„10 High Street, Escher, Vereinigtes Königreich“ oder „123 Main Street, Pleasanton, USA“ Es gibt nur eine „High Street“ in der britischen Stadt Escher und nur eine „Main Street“ in der US-amerikanischen Stadt Pleasanton, Kalifornien.
„UniqueRestaurantName New York“ Es gibt nur eine Einrichtung mit diesem Namen in New York. Zur Unterscheidung ist keine Adresse erforderlich.
„Pizzerie in New York“ Diese Suchanfrage enthält eine Standortbeschränkung und „Pizzeria“ ist ein klar definierter Ortstyp. Es werden mehrere Ergebnisse zurückgegeben.
„+1 514-670-8700“

Diese Abfrage enthält eine Telefonnummer. Es werden mehrere Ergebnisse für Orte zurückgegeben, die mit dieser Telefonnummer verknüpft sind.

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

Testen!

Text Search-Anfragen

Eine Textsuche ist eine HTTP-POST-Anfrage mit folgendem Format:

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

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

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \
'https://places.googleapis.com/v1/places:searchText'

Antworten von „Text Search (New)“

„Text Search (New)“ gibt ein JSON-Objekt als Antwort zurück. In der Antwort:

  • Das places-Array enthält alle übereinstimmenden 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 Antwortfeldmaske erstellen. Übergeben Sie die Antwortfeldmaske an die Methode, indem Sie den URL-Parameter $fields oder fields oder den HTTP-Header X-Goog-FieldMask verwenden. Es gibt keine Standardliste der zurückgegebenen Felder in der Antwort. Wenn Sie die Feldmaske weglassen, gibt die Methode einen Fehler zurück.

    Mit der Feldmaskierung 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 Ortsdatentypen an, die zurückgegeben werden sollen. Beispielsweise können Sie so den Anzeigenamen und die Adresse des Orts abrufen.

    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 Text Search (ID Only) aus:

      places.attributions, places.id, places.name*, nextPageToken

      * Das Feld places.name enthält den Ressourcennamen des Orts in folgendem Format: places/PLACE_ID. Verwenden Sie places.displayName, um auf den Textnamen des Orts zuzugreifen.
    • Die folgenden Felder lösen die SKU Text Search (Basic) aus:

      places.accessibilityOptions, places.addressComponents, places.adrFormatAddress, places.businessStatus, places.containingPlaces, places.displayName, places.formattedAddress, places.googleMapsLinks*, places.googleMapsUri, places.iconBackgroundColor, places.iconMaskBaseUri, places.location, places.photos, places.plusCode, places.primaryType, places.primaryTypeDisplayName, places.pureServiceAreaBusiness, places.shortFormattedAddress, places.subDestinations, places.types, places.utcOffsetMinutes, places.viewport

      * Das Feld places.googleMapsLinks befindet sich in der Pre-GA-Vorabversion und die Nutzung während der Vorabversion ist kostenlos, d. h., die Abrechnung erfolgt mit 0 $.
    • Die folgenden Felder lösen die SKU Text Search (Advanced) aus:

      places.currentOpeningHours, places.currentSecondaryOpeningHours, places.internationalPhoneNumber, places.nationalPhoneNumber, places.priceLevel, places.priceRange, places.rating, places.regularOpeningHours, places.regularSecondaryOpeningHours, places.userRatingCount, places.websiteUri
    • Die folgenden Felder lösen die SKU Text Search (Preferred) aus:

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

      * Nur Textsuche und Nearby Search
  • textQuery

    Der Textstring, nach dem gesucht werden soll, z. B. „Restaurant“, „Hauptstraße 60“ oder „beste Sehenswürdigkeiten in San Francisco“. Die API gibt mögliche Übereinstimmungen basierend auf diesem String zurück und sortiert die Ergebnisse nach ihrer wahrgenommenen Relevanz.

Optionale Parameter

  • includedType

    Damit werden die Ergebnisse auf Orte beschränkt, die dem in Tabelle A angegebenen Typ entsprechen. Es kann nur ein Typ angegeben werden. Beispiel:

    • "includedType":"bar"
    • "includedType":"pharmacy"
  • includePureServiceAreaBusinesses

    Wenn true festgelegt ist, enthält die Antwort Unternehmen, die Kunden vor Ort besuchen oder direkt beliefern, aber keinen physischen Geschäftsstandort haben. Wenn „false“ festgelegt ist, gibt die API nur Unternehmen mit einem physischen Standort zurück.

  • languageCode

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

    • Hier finden Sie eine Liste der unterstützten Sprachen. Die unterstützten Sprachen werden regelmäßig von Google aktualisiert. Diese Liste ist daher möglicherweise nicht vollständig.
    • Wenn languageCode nicht angegeben ist, verwendet die API standardmäßig en. Wenn Sie einen ungültigen Sprachcode angeben, gibt die API den Fehler INVALID_ARGUMENT zurück.
    • Die API gibt eine Adresse aus, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Dazu werden Straßenadressen in der jeweiligen Landessprache zurückgegeben, die bei Bedarf in ein für den Nutzer lesbares Schriftbild transkribiert werden, wobei die bevorzugte Sprache berücksichtigt wird. Alle anderen 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 ein Name nicht in der gewünschten Sprache verfügbar ist, verwendet die API die nächstgelegene Übereinstimmung.
    • Die bevorzugte Sprache hat einen geringen Einfluss auf die 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. Abkürzungen für Straßentypen oder Synonyme, die in einer Sprache gültig sein können, in einer anderen aber nicht.
  • locationBias

    Gibt einen Bereich für die Suche an. Dieser Ort dient als Gewichtung. Das bedeutet, dass Ergebnisse in der Nähe des angegebenen Orts zurückgegeben werden können, einschließlich Ergebnissen außerhalb des angegebenen Bereichs.

    Sie können locationRestriction oder locationBias angeben, aber nicht beide. Mit locationRestriction wird die Region angegeben, in der sich die Ergebnisse befinden müssen, und mit locationBias die Region, in der sich die Ergebnisse wahrscheinlich befinden, aber auch außerhalb des Gebiets liegen können.

    Geben Sie die Region als rechteckigen Darstellungsbereich oder als Kreis an.

    • Ein Kreis wird durch den Mittelpunkt und den Radius in Metern definiert. Der Radius muss zwischen 0,0 und 50.000,0 liegen (jeweils einschließlich). Der Standardradius ist 0,0. Beispiel:

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • Ein Rechteck ist ein Breiten- und Längengrad-Viewport, der durch zwei diagonal gegenüberliegende Tief- und Hochpunkte dargestellt wird. Der Tiefpunkt markiert die Südwestecke des Rechtecks und der Hochpunkt die Nordostecke.

      Ein Darstellungsbereich gilt als geschlossene Region, d. h., er schließt seine Grenze ein. Die Breitengradgrenzen müssen zwischen -90 und 90 Grad liegen und die Längengradgrenzen zwischen -180 und 180 Grad:

      • Wenn low = high ist, besteht der Darstellungsbereich aus diesem einzelnen Punkt.
      • Wenn low.longitude > high.longitude ist, ist der Längengradbereich umgekehrt (der Darstellungsbereich schneidet den Längengrad 180).
      • Wenn low.longitude = -180 Grad und high.longitude = 180 Grad ist, enthält der Darstellungsbereich alle Längengrade.
      • Wenn low.longitude = 180 Grad und high.longitude = -180 Grad ist, ist der Längengradbereich leer.
      • Wenn low.latitude > high.latitude ist, ist der Breitengradbereich leer.

      Sowohl „low“ als auch „high“ müssen ausgefüllt sein und das Feld darf nicht leer sein. Ein leerer Darstellungsbereich führt zu einem Fehler.

      Dieser Ansichtsbereich umschließt beispielsweise vollständig New York City:

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • locationRestriction

    Gibt einen Bereich für die Suche an. Ergebnisse außerhalb des angegebenen Bereichs werden nicht zurückgegeben.

    Geben Sie die Region als rechteckigen Darstellungsbereich an. Ein Beispiel zum Definieren des Darstellungsbereichs finden Sie in der Beschreibung von locationBias.

    Sie können locationRestriction oder locationBias angeben, aber nicht beide. Mit locationRestriction wird die Region angegeben, in der sich die Ergebnisse befinden müssen, und mit locationBias die Region, in der sich die Ergebnisse wahrscheinlich befinden, aber auch außerhalb des Gebiets liegen können.

  • maxResultCount (veraltet)

    Gibt die Anzahl der Ergebnisse (zwischen 1 und 20) an, die pro Seite angezeigt werden sollen. Wenn Sie beispielsweise den Wert für maxResultCount auf 5 festlegen, werden auf der ersten Seite bis zu 5 Ergebnisse zurückgegeben. Wenn über die Abfrage weitere Ergebnisse zurückgegeben werden können, enthält die Antwort ein nextPageToken, das Sie in eine nachfolgende Anfrage übergeben können, um auf die nächste Seite zuzugreifen.

  • evOptions

    Gibt Parameter für die Identifizierung verfügbarer Ladeanschlüsse und Laderaten für Elektrofahrzeuge an.

    • connectorTypes

      Filtert nach dem Typ des Ladeanschlusses für Elektrofahrzeuge, der an einem Ort verfügbar ist. Orte, die keinen der Connectortypen unterstützen, werden herausgefiltert. Zu den unterstützten Steckertypen für Elektrofahrzeugladestationen gehören kombinierte (Wechselstrom- und Gleichstrom)-Ladegeräte, Tesla-Ladegeräte, GB/T-konforme Ladegeräte (für das Schnellladen von Elektrofahrzeugen in China) und Steckdosenladegeräte. Weitere Informationen finden Sie in der Referenzdokumentation.

    • minimumChargingRateKw

      Orte nach der Mindestladeleistung für Elektrofahrzeuge in Kilowatt (kW) filtern. Orte, an denen ein niedrigerer Preis als der Mindestpreis berechnet wird, werden herausgefiltert. Wenn Sie beispielsweise Ladestationen für Elektrofahrzeuge mit einer Ladeleistung von mindestens 10 kW suchen möchten, können Sie diesen Parameter auf „10“ festlegen.

  • minRating

    Die Ergebnisse werden auf diejenigen beschränkt, deren durchschnittliche Nutzerbewertung diesem Limit entspricht oder darüber liegt. Die Werte müssen zwischen 0,0 und 5,0 liegen (jeweils einschließlich) und in Schritten von 0,5 erfolgen. Beispiel: 0, 0,5, 1,0, …, 5,0 Die Werte werden auf die nächste halbe Einheit aufgerundet. Bei einem Wert von 0,6 werden beispielsweise alle Ergebnisse mit einer Bewertung unter 1,0 entfernt.

  • openNow

    Bei true werden nur Orte zurückgegeben, die zum Zeitpunkt des Sendens der Anfrage geöffnet haben. Wenn false, werden alle Unternehmen unabhängig vom Öffnungsstatus zurückgegeben. Wenn Sie diesen Parameter auf false festlegen, werden auch Orte zurückgegeben, für die in der Google Places-Datenbank keine Öffnungszeiten hinterlegt sind.

  • pageSize

    Gibt die Anzahl der Ergebnisse (zwischen 1 und 20) an, die pro Seite angezeigt werden sollen. Wenn Sie beispielsweise den Wert für pageSize auf 5 festlegen, werden auf der ersten Seite bis zu 5 Ergebnisse zurückgegeben. Wenn über die Abfrage weitere Ergebnisse zurückgegeben werden können, enthält die Antwort ein nextPageToken, das Sie in eine nachfolgende Anfrage übergeben können, um auf die nächste Seite zuzugreifen.

  • pageToken

    Gibt den nextPageToken aus dem Antworttext der vorherigen Seite an.

  • priceLevels

    Sie können die Suche auf Orte beschränken, die mit bestimmten Preisniveaus gekennzeichnet sind. Standardmäßig sind alle Preisstufen ausgewählt.

    Geben Sie ein Array mit einem oder mehreren Werten an, die durch PriceLevel definiert sind.

    Beispiel:

    "priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
  • rankPreference

    Gibt an, wie die Ergebnisse in der Antwort basierend auf dem Abfragetyp sortiert werden:

    • Bei einer kategorischen Suchanfrage wie „Restaurants in New York“ ist standardmäßig RELEVANCE (Ergebnisse nach Suchrelevanz sortieren) ausgewählt. Sie können rankPreference auf RELEVANCE oder DISTANCE festlegen, um die Ergebnisse nach Entfernung zu sortieren.
    • Bei nicht kategorischen Suchanfragen wie „Mountain View, CA“ sollten Sie rankPreference leer lassen.
  • regionCode

    Der Regionscode, der zum Formatieren der Antwort verwendet wird. Er wird als zweistelliger CLDR-Code angegeben. Dieser Parameter kann auch eine Verzerrung der Suchergebnisse bewirken. 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, in dem der Ländername immer enthalten ist, sofern verfügbar, und auf shortFormattedAddress, in dem er nie enthalten ist.

    Die meisten CLDR-Codes entsprechen den ISO 3166-1-Codes, mit einigen Ausnahmen. So lautet beispielsweise die ccTLD des Vereinigten Königreichs „uk“ (.co.uk), der ISO 3166-1-Code dagegen „gb“ (technisch für die Entität „Vereinigtes Königreich von Großbritannien und Nordirland“). Der Parameter kann sich auf die Ergebnisse auswirken, die gemäß anwendbarem Recht angezeigt werden.

  • strictTypeFiltering

    Wird mit dem Parameter includedType verwendet. Wenn „true“ festgelegt ist, werden nur Orte zurückgegeben, die den mit „includeType“ angegebenen Typen entsprechen. Wenn „false“ (Standard) festgelegt ist, kann die Antwort Orte enthalten, die nicht den angegebenen Typen entsprechen.

Beispiele für die Textsuche

Ort per Suchstring suchen

Im folgenden Beispiel wird eine Textsucheanfrage für „Spicy Vegetarian Food in Sydney, Australia“ (Würzige vegetarische Gerichte in Sydney, Australien) gezeigt:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

Im X-Goog-FieldMask-Header ist angegeben, dass die Antwort die folgenden Datenfelder enthält: places.displayName,places.formattedAddress. Die Antwort hat dann folgendes Format:

{
  "places": [
    {
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia",
      "displayName": {
        "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "29 King St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Peace Harmony",
        "languageCode": "en"
      }
    },
    ...
  ]
}

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

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-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:searchText'

Die Antwort hat jetzt folgendes Format:

{
  "places": [
    {
      "types": [
        "vegetarian_restaurant",
        "vegan_restaurant",
        "chinese_restaurant",
        "restaurant",
        "food",
        "point_of_interest",
        "establishment"
      ],
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "websiteUri": "http://www.motherchusvegetarian.com.au/",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    {
      "types": [
        "vegan_restaurant",
        "thai_restaurant",
        "vegetarian_restaurant",
        "indian_restaurant",
        "italian_restaurant",
        "american_restaurant",
        "restaurant",
        "food",
        "point_of_interest",
        "establishment"
      ],
      "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia",
      "websiteUri": "http://www.veggosizzle.com.au/",
      "displayName": {
        "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney",
        "languageCode": "en"
      }
    },
    ...
  ]
}

Orte nach Preisniveau filtern

Verwenden Sie die Option priceLevel, um die Ergebnisse auf Restaurants einzugrenzen, die als preiswert oder mäßig teuer definiert sind:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \
'https://places.googleapis.com/v1/places:searchText'

In diesem Beispiel wird auch der X-Goog-FieldMask-Header verwendet, um das places.priceLevel-Datenfeld der Antwort hinzuzufügen. Die Antwort hat dann folgende Form:

{
  "places": [
    {
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "115 King St, Newtown NSW 2042, Australia",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Green Mushroom",
        "languageCode": "en"
      }
    },
    ...
  ]
}

Fügen Sie zusätzliche Optionen hinzu, um die Suche einzugrenzen, z. B. includedType, minRating, rankPreference, openNow und andere Parameter, die unter Optionale Parameter beschrieben sind.

Suche auf eine bestimmte Region beschränken

Verwenden Sie locationRestriction oder locationBias, aber nicht beides, um eine Suche auf einen Bereich einzugrenzen. Mit locationRestriction wird die Region angegeben, in der sich die Ergebnisse befinden müssen. Mit locationBias wird die Region angegeben, in deren Nähe sich die Ergebnisse befinden müssen, die aber auch außerhalb der Region liegen können.

Gebiet mithilfe von „locationRestriction“ einschränken

Mit dem Parameter locationRestriction können Sie die Abfrageergebnisse auf einen bestimmten Bereich beschränken. Geben Sie im Anfragetext die Breiten- und Längengradwerte low und high an, die die Region begrenzen.

Das folgende Beispiel zeigt eine Text Search-Anfrage nach „vegetarischem Essen“ in New York City. Bei dieser Anfrage werden nur die ersten 10 Ergebnisse für Orte zurückgegeben, die geöffnet sind.

curl -X POST -d '{
  "textQuery" : "vegetarian food",
  "pageSize" : "10",
  "locationRestriction": {
    "rectangle": {
      "low": {
        "latitude": 40.477398,
        "longitude": -74.259087
      },
      "high": {
        "latitude": 40.91618,
        "longitude": -73.70018
      }
    }
  }
}' \
  -H 'Content-Type: application/json' \
  -H 'X-Goog-Api-Key: API_KEY' \
  -H 'X-Goog-FieldMask: places.id,places.formattedAddress' \
  'https://places.googleapis.com/v1/places:searchText'

Mit „locationBias“ die Gewichtung auf einen Bereich legen

Das folgende Beispiel zeigt eine Text Search-Anfrage nach „vegetarischem Essen“, die auf einen Standort innerhalb von 500 Metern von einem Punkt in der Innenstadt von San Francisco ausgerichtet ist. Bei dieser Anfrage werden nur die ersten 10 Ergebnisse für Orte zurückgegeben, die geöffnet sind.

curl -X POST -d '{
  "textQuery" : "vegetarian food",
  "openNow": true,
  "pageSize": 10,
  "locationBias": {
    "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' \
'https://places.googleapis.com/v1/places:searchText'

Nach Ladestationen für Elektrofahrzeuge mit einer Mindestladeleistung suchen

Mit minimumChargingRateKw und connectorTypes können Sie nach Orten mit verfügbaren Ladestationen suchen, die mit Ihrem Elektrofahrzeug kompatibel sind.

Das folgende Beispiel zeigt eine Anfrage für Tesla- und J1772-Typ-1-Stecker für Elektrofahrzeuge mit einer Mindestladeleistung von 10 kW in Mountain View, Kalifornien. Es werden nur vier Ergebnisse zurückgegeben.

curl -X POST -d '{
    "textQuery": "EV Charging Station Mountain View",
    "pageSize": 4,
    "evOptions": {
      "minimumChargingRateKw": 10,
      "connectorTypes": ["EV_CONNECTOR_TYPE_J1772","EV_CONNECTOR_TYPE_TESLA"]
    }
  }' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H "X-Goog-FieldMask: places.displayName,places.evChargeOptions" \
'https://places.googleapis.com/v1/places:searchText'

Die Anfrage gibt die folgende Antwort zurück:

{
  "places": [
    {
      "displayName": {
        "text": "EVgo Charging Station",
        "languageCode": "en"
      },
      "evChargeOptions": {
        "connectorCount": 16,
        "connectorAggregation": [
          {
            "type": "EV_CONNECTOR_TYPE_CHADEMO",
            "maxChargeRateKw": 100,
            "count": 8,
            "availableCount": 5,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 100,
            "count": 2,
            "availableCount": 2,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 350,
            "count": 6,
            "availableCount": 3,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          }
        ]
      }
    },
    {
      "displayName": {
        "text": "EVgo Charging Station",
        "languageCode": "en"
      },
      "evChargeOptions": {
        "connectorCount": 6,
        "connectorAggregation": [
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 100,
            "count": 4,
            "availableCount": 3,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 350,
            "count": 2,
            "availableCount": 0,
            "outOfServiceCount": 2,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          }
        ]
      }
    },
    {
      "displayName": {
        "text": "EVgo Charging Station",
        "languageCode": "en"
      },
      "evChargeOptions": {
        "connectorCount": 5,
        "connectorAggregation": [
          {
            "type": "EV_CONNECTOR_TYPE_J1772",
            "maxChargeRateKw": 3.5999999046325684,
            "count": 1,
            "availableCount": 0,
            "outOfServiceCount": 1,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CHADEMO",
            "maxChargeRateKw": 50,
            "count": 2,
            "availableCount": 0,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          },
          {
            "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1",
            "maxChargeRateKw": 50,
            "count": 2,
            "availableCount": 0,
            "outOfServiceCount": 0,
            "availabilityLastUpdateTime": "2024-01-10T19:10:00Z"
          }
        ]
      }
    },
    {
      "displayName": {
        "text": "Electric Vehicle Charging Station",
        "languageCode": "en"
      },
      "evChargeOptions": {
        "connectorCount": 10,
        "connectorAggregation": [
          {
            "type": "EV_CONNECTOR_TYPE_OTHER",
            "maxChargeRateKw": 210,
            "count": 10
          }
        ]
      }
    }
  ]
}

Nach Unternehmen ohne festen Standort in einem Einzugsgebiet suchen

Verwenden Sie den Parameter includePureServiceAreaBusinesses, um nach Unternehmen zu suchen, die keinen physischen Standort haben (z. B. ein mobiler Reinigungsservice oder ein Imbisswagen).

Das folgende Beispiel zeigt eine Anfrage für Klempner in San Francisco:

curl -X POST -d '{
  "textQuery" : "plumber San Francisco",
  "includePureServiceAreaBusinesses": true
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

In der Antwort enthalten Unternehmen ohne physischen Standort das Feld formattedAddress nicht:

{
  "places": [
    {
      "formattedAddress": "3450 Sacramento St #204, San Francisco, CA 94118, USA",
      "displayName": {
        "text": "Advanced Plumbing & Drain",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "1455 Bancroft Ave, San Francisco, CA 94124, USA",
      "displayName": {
        "text": "Magic Plumbing Heating & Cooling",
        "languageCode": "en"
      }
    },
    /.../
    {
      "displayName": {
        "text": "Starboy Plumbing Inc.",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "78 Dorman Ave, San Francisco, CA 94124, USA",
      "displayName": {
        "text": "Cabrillo Plumbing, Heating & Air",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "540 Barneveld Ave # D, San Francisco, CA 94124, USA",
      "displayName": {
        "text": "Mr. Rooter Plumbing of San Francisco",
        "languageCode": "en"
      }
    },
    /.../
    {
      "displayName": {
        "text": "Pipeline Plumbing",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "350 Bay St #100-178, San Francisco, CA 94133, USA",
      "displayName": {
        "text": "One Source Plumbing and Rooter",
        "languageCode": "en"
      }
    },
    /.../
  ]
}

Anzahl der Ergebnisse pro Seite angeben

Mit dem Parameter pageSize können Sie die Anzahl der Ergebnisse angeben, die pro Seite zurückgegeben werden sollen. Der Parameter nextPageToken im Antworttext enthält ein Token, das in nachfolgenden Aufrufen verwendet werden kann, um auf die nächste Ergebnisseite zuzugreifen.

Im folgenden Beispiel wird eine Anfrage für „Pizza in New York“ mit 5 Ergebnissen pro Seite dargestellt:

 curl -X POST -d '{
  "textQuery": "pizza in New York",
  "pageSize": 5
  }' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H "X-Goog-FieldMask: places.id,nextPageToken" \
'https://places.googleapis.com/v1/places:searchText'
{
  "places": [
    {
      "id": "ChIJifIePKtZwokRVZ-UdRGkZzs"
    },
    {
      "id": "ChIJPxPd_P1YwokRfzLhSiACEoU"
    },
    {
      "id": "ChIJrXXKn5NZwokR78g0ipCnY60"
    },
    {
      "id": "ChIJ6ySICVZYwokR9rIK8HjXhzE"
    },
    {
      "id": "ChIJ6xvs94VZwokRnT1D2lX2OTw"
    }
  ],
  "nextPageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q"
}

Wenn Sie auf die nächste Ergebnisseite zugreifen möchten, geben Sie mit pageToken den Wert für nextPageToken im Anfragetext an:

 curl -X POST -d '{
  "textQuery": "pizza in New York",
  "pageSize": 5,
  "pageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q"
  }' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H "X-Goog-FieldMask: places.id,nextPageToken" \
'https://places.googleapis.com/v1/places:searchText'
{
  "places": [
    {
      "id": "ChIJL-LN1N1ZwokR8K2jACu6Ydw"
    },
    {
      "id": "ChIJjaD94kFZwokR-20CXqlpy_4"
    },
    {
      "id": "ChIJ6ffdpJNZwokRmcafdROM5q0"
    },
    {
      "id": "ChIJ8Q2WSpJZwokRQz-bYYgEskM"
    },
    {
      "id": "ChIJ8164qwFZwokRhplkmhvq1uE"
    }
  ],
  "nextPageToken": "AeCrKXvPd6uUy-oj96W2OaqEe2pUD8QTxOM8-sKfUcFsC9t2Wey5qivrKGoGSxcZnyc7RPmaFfAktslrKbUh31ZDTkL0upRmaxA7c_c"
}

Testen!

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

  1. Wählen Sie rechts auf der Seite das API-Symbol Maximieren Sie den API Explorer. aus.

  2. Optional können Sie Standardparameter anzeigen maximieren und den Parameter fields auf die Feldmaske festlegen.

  3. Optional können Sie den Anfragetext bearbeiten.

  4. Klicken Sie auf die Schaltfläche Ausführen. Wählen Sie im Pop-up-Dialogfeld das Konto aus, mit dem Sie die Anfrage stellen möchten.

  5. Klicken Sie im API Explorer-Steuerfeld auf das Symbol zum Maximieren Maximieren Sie den API Explorer., um das Fenster des API Explorers zu maximieren.