Einführung
Bei Verwendung von Text Search (New) werden Informationen zu verschiedenen Orten auf Grundlage eines Textstrings 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.
Zusätzlich zu den erforderlichen Parametern unterstützt „Text Search (New)“ die Verfeinerung von Anfragen mit optionalen Parametern, um bessere Ergebnisse zu erzielen.
Mit dem APIs Explorer können Sie Liveanfragen stellen, um sich mit der API und den API-Optionen vertraut zu machen:
„Text Search (New)“-Anfragen
Eine Text Search (New)-Anfrage ist eine HTTP-POST-Anfrage in folgender Form:
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)“
Die Textsuche (neu) gibt ein JSON-Objekt als Antwort zurück. Die Antwort sieht so aus:
- Das Array
placesenthält alle übereinstimmenden Orte. - Jeder Ort im Array wird durch ein
Place-Objekt dargestellt. DasPlace-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. - Es kann nicht garantiert werden, dass die Liste der zurückgegebenen Orte bei identischen Anfragen immer gleich ist.
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 Maske für Antwortfelder an die Methode, indem Sie den URL-Parameter
$fieldsoderfieldsoder den HTTP-HeaderX-Goog-FieldMaskverwenden. In der Antwort gibt es keine Standardliste der 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. Beispielsweise, um den Anzeigenamen und die Adresse des Ortes abzurufen.
X-Goog-FieldMask: places.displayName,places.formattedAddress
Verwenden Sie
*, um alle Felder abzurufen.X-Goog-FieldMask: *
Geben Sie eines oder mehrere der folgenden Felder an:
Die folgenden Felder lösen die Text Search Essentials ID Only-SKU aus:
places.attributions
places.id
places.consumerAlert
places.name*
nextPageToken
places.movedPlace
places.movedPlaceId* Das Feld
places.nameenthält den Ressourcennamen des Orts in folgendem Format:places/PLACE_ID. Verwenden Sieplaces.displayNamein der Pro-Version, um auf den Textnamen des Orts zuzugreifen.Eine vollständige Liste der Felder und der zugehörigen SKUs finden Sie unter Ortsdatenfelder (neu).
Die folgenden Felder lösen die SKU „Text Search Pro“ aus:
places.accessibilityOptions
places.addressComponents
places.addressDescriptor*
places.adrFormatAddress
places.businessStatus
places.containingPlaces
places.displayName
places.formattedAddress
places.googleMapsLinks
places.googleMapsTypeLabel
places.googleMapsUri
places.iconBackgroundColor
places.iconMaskBaseUri
places.location
places.openingDate
places.photos
places.plusCode
places.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.searchUri
places.subDestinations
places.timeZone
places.types
places.utcOffsetMinutes
places.viewport
* Adressbeschreibungen sind für Kunden in Indien allgemein verfügbar und werden in anderen Ländern experimentell eingesetzt.Eine vollständige Liste der Felder und der zugehörigen SKUs finden Sie unter Ortsdatenfelder (neu).
Die folgenden Felder lösen die Text Search Enterprise-SKU aus:
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.transitStation
places.userRatingCount
places.websiteUriEine vollständige Liste der Felder und der zugehörigen SKUs finden Sie unter Ortsdatenfelder (neu).
Die folgenden Felder lösen die Text Search Enterprise + Atmosphere-SKU 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 Text Search und Nearby SearchEine vollständige Liste der Felder und der zugehörigen SKUs finden Sie unter Ortsdatenfelder (neu).
-
textQuery
Der Textstring, nach dem gesucht werden soll. Beispiele: „Restaurant“, „Hauptstraße 60“ oder „Sehenswürdigkeiten in Berlin“. Die API gibt mögliche Übereinstimmungen basierend auf dem String zurück, die nach erkannter Relevanz sortiert werden.
„Text Search (New)“ ist nicht für mehrdeutige Suchanfragen gedacht, darunter:
Abfragetyp Beispiel Zu viele Konzepte oder Einschränkungen, z. B. die Namen mehrerer Orte, Straßen oder Städte in einer einzelnen Anfrage „Market Street San Francisco San Jose Airport“ Postadressenelemente, die nicht in Google Maps dargestellt werden "C/O John Smith 123 Main Street"
"P.O. Box 13 San Francisco"Namen von Unternehmen, Ketten oder Kategorien in Kombination mit Standorten, an denen diese Unternehmen nicht verfügbar sind „Tesco in der Nähe von Dallas, Texas“ Mehrdeutige Anfragen mit mehreren Interpretationen „Ladegerät abgeben“ Ältere Namen, die nicht mehr verwendet werden "Middlesex, Vereinigtes Königreich" Nicht standortbezogene Elemente oder Intentionen „Wie viele Boote sind im Ventura Harbor?“ Inoffizielle oder Vanity-Namen „The Jenga“
„The Helter Skelter“Geografische Koordinaten (Breiten- und Längengrad) "37.422131,-122.084801"
Optionale Parameter
-
includeFutureOpeningBusinesses
Falls
true, werden Unternehmen zurückgegeben, die voraussichtlich in Zukunft eröffnet werden. Die Standardeinstellung istfalse.
Wenn Sie den Unternehmensstatus abrufen möchten, fügen Sieplaces.businessStatusin die Feldmaske der Anfrage ein. Wenn Sie das voraussichtliche Eröffnungsdatum des Unternehmens abrufen möchten, fügen Sieplaces.openingDatein Ihre Anfragemaske ein. -
includedType
Gewichtet die Ergebnisse für Orte, die dem angegebenen Typ aus Tabelle A entsprechen. Es kann nur ein Typ angegeben werden. Beispiel:
"includedType":"bar""includedType":"pharmacy"
Bei der Textsuche (neu) wird je nach Anwendbarkeit eine Typfilterung für bestimmte Anfragen angewendet. Beispielsweise wird die Typfilterung möglicherweise nicht auf Suchanfragen nach bestimmten Adressen („Musterstraße 123“) angewendet, aber fast immer auf kategorische Suchanfragen („Geschäfte in der Nähe“ oder „Einkaufszentren“).
Wenn Sie die Typfilterung auf alle Abfragen anwenden möchten, legen Sie
strictTypeFilteringauftruefest. -
includePureServiceAreaBusinesses
Wenn der Wert auf
truegesetzt ist, enthält die Antwort Unternehmen, die Kunden direkt besuchen oder beliefern, aber keinen physischen Standort haben. Wenn der Wert auffalsefestgelegt ist, gibt die API nur Unternehmen mit einem physischen Standort zurück. 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 unter Umständen nicht vollständig ist.
-
Wenn
languageCodenicht angegeben ist, wird standardmäßigenverwendet. Wenn Sie einen ungültigen Sprachcode angeben, gibt die API den FehlerINVALID_ARGUMENTzurück. - Die API versucht, eine Adresse zurückzugeben, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Dazu werden Adressen in der Landessprache zurückgegeben, die bei Bedarf in eine für den Nutzer lesbare Schrift transliteriert werden. Dabei wird die bevorzugte Sprache berücksichtigt. 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 in der bevorzugten Sprache nicht verfügbar ist, wird die nächstgelegene Übereinstimmung verwendet.
- 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.
locationBias
Gibt einen Bereich für die Suche an. Dieser Ort dient als Bias. Das bedeutet, dass Ergebnisse in der Nähe des angegebenen Orts zurückgegeben werden können, auch wenn sie außerhalb des angegebenen Bereichs liegen.
Sie können
locationRestrictionoderlocationBiasangeben, aber nicht beides.locationRestrictiongibt die Region an, in der sich die Ergebnisse befinden müssen, undlocationBiasdie Region, in der sich die Ergebnisse wahrscheinlich befinden oder in deren Nähe sie sich befinden, aber auch außerhalb der Region 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-/Längengrad-Sichtbereich, der als zwei diagonal gegenüberliegende untere und obere Punkte dargestellt wird. Der Tiefpunkt markiert die südwestliche Ecke des Rechtecks und der Hochpunkt die nordöstliche Ecke.
Ein Darstellungsbereich gilt als geschlossene Region, d. h., er schließt seine Grenze ein. Die Grenzen für den Breitengrad müssen zwischen -90 und 90 Grad liegen, die Grenzen für den Längengrad zwischen -180 und 180 Grad:
- Wenn
low=highist, besteht der Darstellungsbereich aus diesem einzelnen Punkt. - Wenn
low.longitude>high.longitude, wird der Längengradbereich invertiert (der Darstellungsbereich kreuzt den 180. Längengrad). - Wenn
low.longitude= -180 Grad undhigh.longitude= 180 Grad ist, umfasst der Darstellungsbereich alle Längengrade. - Wenn
low.longitude= 180 Grad undhigh.longitude= -180 Grad ist, ist der Längengradbereich leer. - Wenn
low.latitude>high.latitude, ist der Breitengradbereich leer.
Sowohl der niedrige als auch der hohe Wert müssen angegeben werden und das dargestellte Feld darf nicht leer sein. Ein leerer Viewport führt zu einem Fehler.
Dieser Darstellungsbereich umschließt beispielsweise New York City vollständig:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- Wenn
locationRestriction
Gibt einen Bereich an, in dem nur nach kategorischen Anfragen gesucht werden soll, die mehrere Orte zurückgeben können (z. B. „Restaurants in München“ oder „Einkaufszentren“). Ergebnisse außerhalb des angegebenen Bereichs werden nicht zurückgegeben.
Geben Sie die Region als rechteckigen Darstellungsbereich an. Ein Beispiel für die Definition des Darstellungsbereichs finden Sie in der Beschreibung von
locationBias.Sie können
locationRestrictionoderlocationBiasangeben, aber nicht beides.locationRestrictiongibt die Region an, in der sich die Ergebnisse befinden müssen, undlocationBiasdie Region, in der sich die Ergebnisse wahrscheinlich befinden oder in deren Nähe sie sich befinden, aber auch außerhalb der Region 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
maxResultCountauf 5 festlegen, werden auf der ersten Seite bis zu 5 Ergebnisse zurückgegeben. Wenn es weitere Ergebnisse gibt, die von der Abfrage zurückgegeben werden können, enthält die Antwort einnextPageToken, das Sie in einer nachfolgenden Anfrage übergeben können, um auf die nächste Seite zuzugreifen. evOptions
Gibt Parameter zum Identifizieren verfügbarer Ladeanschlüsse für Elektrofahrzeuge und der Ladegeschwindigkeiten an.
connectorTypes
Filtert nach dem Typ des Ladesteckers für Elektrofahrzeuge, der an einem Ort verfügbar ist. Ein Ort, der keinen der Connectortypen unterstützt, wird herausgefiltert. Zu den unterstützten Ladeanschlüssen für Elektrofahrzeuge gehören kombinierte Ladegeräte (Wechsel- und Gleichstrom), Tesla-Ladegeräte, GB/T-kompatible Ladegeräte (für das schnelle Laden von Elektrofahrzeugen in China) und Wandsteckdosen. Weitere Informationen finden Sie in der Referenzdokumentation.
- Wenn Sie die Ergebnisse nach einem bestimmten unterstützten Connector filtern möchten, legen Sie
connectorTypesauf diesen Wert fest. Wenn Sie beispielsweise nach J1772-Steckern vom Typ 1 suchen möchten, legen SieconnectorTypesaufEV_CONNECTOR_TYPE_J1772fest. - Wenn Sie die Ergebnisse nach nicht unterstützten Connectors filtern möchten, setzen Sie
connectorTypesaufEV_CONNECTOR_TYPE_OTHER. - Wenn Sie die Ergebnisse nach einem beliebigen Anschlusstyp filtern möchten, der eine Wandsteckdose ist, legen Sie
connectorTypesaufEV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLETfest. - Wenn Sie Ergebnisse nach einem beliebigen Connectortyp filtern möchten, legen Sie
connectorTypesaufEV_CONNECTOR_TYPE_UNSPECIFIEDfest oder lassen SieconnectorTypesleer.
- Wenn Sie die Ergebnisse nach einem bestimmten unterstützten Connector filtern möchten, legen Sie
minimumChargingRateKw
Filtert Orte nach der Mindestladeleistung für Elektrofahrzeuge in Kilowatt (kW). Alle Orte, an denen ein niedrigerer Preis als der Mindestpreis berechnet wird, werden herausgefiltert. Wenn Sie beispielsweise Ladestationen für Elektrofahrzeuge mit einer Laderate von mindestens 10 kW finden möchten, können Sie diesen Parameter auf „10“ festlegen.
minRating
Beschränkt die Ergebnisse auf diejenigen, deren durchschnittliche Nutzerbewertung größer oder gleich diesem Grenzwert ist. Die Werte müssen zwischen 0,0 und 5,0 (einschließlich) in Schritten von 0,5 liegen. Beispiel: 0, 0,5, 1,0, …, 5,0 (einschließlich). Die Werte werden auf die nächste 0,5 aufgerundet. Bei einem Wert von 0,6 werden beispielsweise alle Ergebnisse mit einer Bewertung unter 1,0 ausgeschlossen.
openNow
Wenn
true, geben Sie nur die Orte zurück, die beim Senden der Anfrage geöffnet haben. Beifalsewerden alle Unternehmen zurückgegeben, unabhängig vom Status „Geöffnet“. Wenn Sie diesen Parameter auffalsefestlegen, werden Orte zurückgegeben, für die in der Google Places-Datenbank keine Öffnungszeiten angegeben sind.pageSize
Gibt die Anzahl der Ergebnisse (zwischen 1 und 20) an, die pro Seite angezeigt werden sollen. Wenn Sie beispielsweise den Wert
pageSizeauf 5 festlegen, werden auf der ersten Seite bis zu 5 Ergebnisse zurückgegeben. Wenn es weitere Ergebnisse gibt, die von der Abfrage zurückgegeben werden können, enthält die Antwort einnextPageToken, das Sie in einer nachfolgenden Anfrage übergeben können, um auf die nächste Seite zuzugreifen.pageToken
Gibt die
nextPageTokenaus dem Antworttext der vorherigen Seite an.-
priceLevels
Schränken Sie die Suche auf Orte ein, die mit bestimmten Preisniveaus gekennzeichnet sind. Standardmäßig sind alle Preisstufen ausgewählt.
Für Orte der folgenden Typen können Preisstufen erwartet werden:
Orte nicht unterstützter Typen werden nicht in die Antwort aufgenommen, wenn
priceLevelsangegeben ist.Geben Sie ein Array mit einem oder mehreren Werten an, die durch
PriceLeveldefiniert sind.Beispiel:
"priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
rankPreference
Gibt an, wie die Ergebnisse in der Antwort je nach Art der Anfrage sortiert werden:
- Bei einer kategorischen Anfrage wie „Restaurants in New York City“ ist
RELEVANCE(Ergebnisse nach Suchrelevanz sortieren) die Standardeinstellung. Sie könnenrankPreferenceaufRELEVANCEoderDISTANCE(Ergebnisse nach Entfernung sortieren) festlegen. - Bei einer nicht kategorischen Abfrage wie „Mountain View, CA“ empfehlen wir,
rankPreferencenicht festzulegen.
- Bei einer kategorischen Anfrage wie „Restaurants in New York City“ ist
regionCode
Der zum Formatieren der Antwort verwendete Regionscode, angegeben als zweistelliger CLDR-Code. Dieser Parameter kann sich auch auf die Suchergebnisse auswirken. Es gibt keinen Standardwert.
Wenn der Ländername im Feld
formattedAddressin der Antwort mit demregionCodeübereinstimmt, wird der Ländercode informattedAddressweggelassen. Dieser Parameter hat keine Auswirkungen aufadrFormatAddress, das immer den Ländernamen enthält, sofern verfügbar, oder aufshortFormattedAddress, das ihn nie enthält.Die meisten CLDR-Codes entsprechen den ISO 3166-1-Codes. Es gibt jedoch einige Ausnahmen. Die ccTLD des Vereinigten Königreichs ist beispielsweise „uk“ (.co.uk), der ISO 3166-1-Code dagegen „gb“ (technisch für das Land „Vereinigtes Königreich Großbritannien und Nordirland“). Der Parameter kann sich je nach anwendbarem Recht auf die Ergebnisse auswirken.
strictTypeFiltering
Wird mit dem Parameter
includedTypeverwendet. Wenn der Wert auftruefestgelegt ist, werden nur Orte zurückgegeben, die den vonincludedTypeangegebenen Typen entsprechen. Wenn der Wert „false“ ist (Standard), kann die Antwort Orte enthalten, die nicht den angegebenen Typen entsprechen.
Beispiele für „Text Search (New)“
Ort über einen Abfragestring finden
Im folgenden Beispiel sehen Sie eine Text Search (New)-Anfrage für „Spicy Vegetarian Food in Sydney, Australia“:
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'
Der Header X-Goog-FieldMask gibt an, 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
Mit der Option priceLevel können Sie die Ergebnisse auf Restaurants filtern, 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 Header X-Goog-FieldMask verwendet, um das Datenfeld places.priceLevel der Antwort hinzuzufügen, sodass es folgendes Format hat:
{ "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 Ihre Suche zu verfeinern, z. B. includedType, minRating, rankPreference, openNow und andere Parameter, die unter Optionale Parameter beschrieben werden.
Suche auf einen bestimmten Bereich beschränken
Verwenden Sie locationRestriction oder locationBias, aber nicht beides, um eine Suche auf einen Bereich einzugrenzen. locationRestrictiongibt die Region an, in der sich die Ergebnisse befinden müssen, und locationBias die Region, in der sich die Ergebnisse befinden müssen, aber außerhalb des Bereichs liegen können.
Bereich mit „locationRestriction“ einschränken
Mit dem Parameter locationRestriction können Sie die Suchergebnisse auf eine bestimmte Region beschränken. Geben Sie im Anfragetext die Breiten- und Längengradwerte für low und high an, die die Regionsgrenze definieren.
Das folgende Beispiel zeigt eine Text Search (New)-Anfrage für „vegetarisches Essen“ in New York City. Diese Anfrage gibt nur die ersten 10 Ergebnisse für Orte zurück, 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'
Gewichtung auf einen Bereich mit „locationBias“ vornehmen
Das folgende Beispiel zeigt eine Text Search (New)-Anfrage für „vegetarisches Essen“, die auf einen Ort im Umkreis von 500 Metern um einen Punkt in der Innenstadt von San Francisco ausgerichtet ist. Diese Anfrage gibt nur die ersten 10 Ergebnisse für Orte zurück, 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 Mindestladerate 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-Ladestecker für Elektrofahrzeuge mit einer Mindestladerate 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
Mit dem Parameter includePureServiceAreaBusinesses können Sie nach Unternehmen ohne physische Dienstadresse suchen, z. B. nach einem mobilen Reinigungsdienst oder einem 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 für Unternehmen ohne physische Dienstadresse ist das Feld formattedAddress nicht enthalten:
{ "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 sehen Sie eine Anfrage für „Pizza in New York“, die auf 5 Ergebnisse pro Seite beschränkt ist:
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, verwenden Sie pageToken, um nextPageToken im Anfragetext zu übergeben:
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" }
Adressdeskriptoren abrufen
Adressdeskriptoren enthalten Informationen zum Standort eines Orts, z. B. zu Sehenswürdigkeiten in der Nähe und zu Gebieten, in denen sich der Ort befindet.
Das folgende Beispiel zeigt eine „Text Search (New)“-Anfrage für Orte in der Nähe eines Einkaufszentrums in San Jose. In diesem Beispiel fügen Sie addressDescriptors in die Feldmaske ein:
curl -X POST -d '{
"textQuery": "clothes",
"maxResultCount": 5,
"locationBias": {
"circle": {
"center": {
"latitude": 37.321328,
"longitude": -121.946275
}
}
},
"rankPreference":"RANK_PREFERENCE_UNSPECIFIED"
}' \
-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:searchText
Die Antwort enthält den im Antrag angegebenen Ort, eine Liste der nahegelegenen Sehenswürdigkeiten und deren Entfernung zum Ort sowie eine Liste der Gebiete und deren Enthaltenseinsbeziehung zum Ort:
{ "places": [ { "displayName": { "text": "Urban Outfitters", "languageCode": "en" }, "addressDescriptor": { "landmarks": [ { "name": "places/ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "placeId": "ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "food", "movie_theater", "point_of_interest", "restaurant", "shoe_store", "shopping_mall", "store" ], "spatialRelationship": "WITHIN", "straightLineDistanceMeters": 133.72855 }, { "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": 250.99161 }, { "name": "places/ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "placeId": "ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "displayName": { "text": "Macy's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "store" ], "straightLineDistanceMeters": 116.24196 }, { "name": "places/ChIJ9d3plB_Lj4ARzyaU5bn80WY", "placeId": "ChIJ9d3plB_Lj4ARzyaU5bn80WY", "displayName": { "text": "Bank of America Financial Center", "languageCode": "en" }, "types": [ "bank", "establishment", "finance", "point_of_interest" ], "straightLineDistanceMeters": 121.61515 }, { "name": "places/ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "placeId": "ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "displayName": { "text": "Bloomingdale's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "furniture_store", "home_goods_store", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 81.32396 } ], "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": "WITHIN" } ] } }, /.../ ] }
Unternehmen finden, die in Zukunft eröffnen
Das folgende Beispiel zeigt eine Text Search (New)-Anfrage für Unternehmen, die in Zukunft in New Meadows, Idaho, USA, 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 '{
"textQuery": "Roberts Greenhouse and Tree Farm",
"includeFutureOpeningBusinesses": true,
"maxResultCount": 20,
"locationBias": {
"circle": {
"center": {"latitude": 44.9755100, "longitude": -116.2842180},
"radius": 20
}
}
}' \
"https://places.googleapis.com/v1/places:searchText"
Die Antwort enthält Unternehmen, die in Zukunft eröffnet werden, sowie ihren Unternehmensstatus und das voraussichtliche 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 der Textsuche (neu) können Sie nach Haltestellen suchen. Der Antworttext enthält Informationen zur Station, darunter den Namen der Station, die zugehörigen Verkehrsverbünde und die ÖPNV-Linien, die die Station bedienen. Außerdem enthält die Antwort ein Fahrzeugsymbol und Farben, mit denen Sie die Informationen zur Haltestelle anzeigen können.
Das folgende Beispiel zeigt eine Anfrage für „Grand Central Station“:
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 '{
"textQuery": "Grand Central Station"
}' \
"https://places.googleapis.com/v1/places:searchText"
Der Antworttext enthält Informationen zu jeder Station im Umkreis, zu den Linien, die von der Station bedient werden, zu Warnungen, die von Verkehrsbetrieben an dieser Haltestelle ausgegeben werden, und zu Abfahrtsinformationen:
{ "places": [ { "id": "ChIJhRwB-yFawokRi0AhGH87UTc", "displayName": { "text": "Grand Central", "languageCode": "en" }, "transitStation": { "displayName": { "text": "Grand Central", "languageCode": "en" }, "agencies": [ { "displayName": { "text": "Metro-North Railroad", "languageCode": "en" }, "url": "http://www.mta.info/mnr", "lines": [ { "id": "ChIJOXpD29y2wokRryDO0CocwK0", "vehicleType": "HEAVY_RAIL", "displayName": { "text": "Harlem", "languageCode": "en" }, "textColor": "#FFFFFF", "backgroundColor": "#0061AA", "vehicleIcon": { "url": "https://maps.gstatic.com/mapfiles/transit/iw2/svg/rail2.svg" }, "alerts": [ { "effect": "OTHER", "texts": [ { "headline": { "text": "Information", "languageCode": "en" }, "summary": { "text": "Temporary platforms are in place at Botanical Garden, Williams Bridge, and Woodlawn for northbound travel. Build in extra travel time to reach the platform.", "languageCode": "en" }, "fullDescription": { "text": "What's Happening? We are renovating some Harlem Line stations in the Bronx. Learn more about the project here.", "languageCode": "en" } } ], "detailsUrls": [ { "url": "https://new.mta.info/" } ], "cause": "OTHER_CAUSE", "startTime": "2026-04-16T04:00:00Z", "endTime": "2026-12-01T04:45:00Z", "attribution": { "link": { "text": "new.mta.info", "url": "https://new.mta.info/" } }, "createTime": "2026-05-15T22:39:30Z", "severityLevel": "INFO" } ] }, ... ] }, ... ] "stops": [ { "id": "ChIJOfdrigFZwokRJPllLwfPrJY", "location": { "latitude": 40.752823, "longitude": -73.977195999999992 }, "wheelchairAccessibleEntrance": true } ], "departureBoards": [ { "displayType": "TIME_CENTRIC", "rows": [ { "departures": [ { "timedDeparture": { "scheduledTime": "2026-05-15T22:42:00Z", "timingType": "SCHEDULED", "predictedTime": "2026-05-15T22:42:00Z", "updateTime": "2026-05-15T22:38:50Z" }, "originallyScheduledStopId": "ChIJOfdrigFZwokRJPllLwfPrJY", "lineId": "ChIJAfBuQhwg6IkRYnFpClHxFrM" } ] }, ... ] } ] } }, { "id": "ChIJ_4EAi-pZwokRWe5T1JmmWmc", "displayName": { "text": "Grand Central Station", "languageCode": "en" } } ] }
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 Eingänge 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 eine 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 Ort zu leiten. Weitere Informationen finden Sie unter Tokens für Navigationspunkte.
Das folgende Beispiel zeigt eine „Text Search (New)“-Anfrage für „San Francisco International Airport“, 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 '{
"textQuery": "San Francisco International Airport",
"pageSize": 1
}' \
"https://places.googleapis.com/v1/places:searchText"
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.
Wählen Sie rechts auf der Seite das API-Symbol api aus.
Bearbeiten Sie optional die Anfrageparameter.
Wählen Sie den Button Ausführen aus. Wählen Sie im Dialogfeld das Konto aus, mit dem Sie die Anfrage stellen möchten.
Wählen Sie im Bereich „APIs Explorer“ das Vollbildsymbol fullscreen aus, um das APIs Explorer-Fenster zu maximieren.