Wenn Sie die Funktion Place Details (Neu), Nearby Search (Neu) oder Textsuche (New) verwenden, müssen Sie geben Sie an, welche Felder in der Antwort zurückgegeben werden sollen. Keine Standardliste vorhanden von zurückgegebenen Feldern. Wenn Sie diese Liste weglassen, geben die Methoden einen Fehler zurück.
Zum Angeben der Feldliste erstellen Sie eine Antwortfeldmaske. Sie bestehen dann
die Antwortfeldmaske mithilfe des Parameters $fields
oder
fields
oder mithilfe des HTTP- oder gRPC-Headers X-Goog-FieldMask
.
Die Maskierung von Feldern ist sinnvoll, unnötige Daten, um unnötige Verarbeitungszeit und Kosten zu vermeiden. Gebühren.
Antwortfeldmaske definieren
Die Antwortfeldmaske ist eine durch Kommas getrennte Liste von Pfaden, in denen jeder Pfad gibt ein eindeutiges Feld in der Antwortnachricht an. Der Pfad beginnt an der Top-Level-Antwortnachricht und verwendet einen durch Punkte getrennten Pfad zum angegebenen Feld.
Erstellen Sie einen Feldpfad:
topLevelField[.secondLevelField][.thirdLevelField][...]
Sie können alle Felder mit der Feldmaske *
anfordern.
Weitere Informationen zum Erstellen von Feldmasken finden Sie in der field_mask.proto.
Bestimmen, welche Feldmasken verwendet werden sollen
So legen Sie fest, welche Feldmasken Sie verwenden möchten:
- Fordert alle Felder mit einer Feldmaske von "*" an.
- Sehen Sie sich die Hierarchie der Felder in der Antwort an und legen Sie fest, die gewünschten Felder hinzu.
- Erstellen Sie Ihre Feldmaske mithilfe der Feldhierarchie.
Definieren Sie eine Antwortfeldmaske für „Nearby Search (New)“ und „Text Search (New)“
Nearby Search (New) und
„Text Search (New)“ gibt ein Array von „Place“-Objekten in
Das Feld places
der Antwort. Bei diesen APIs ist places
die oberste Ebene.
der Antwort ein.
Um beispielsweise das vollständige Antwortobjekt einer „Text Search“ (Neu):
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: *' \ 'https://places.googleapis.com/v1/places:searchText'
Das vollständige Antwortobjekt aus „Text Search (New)“ -Aufruf hat das folgende Format:
{ "places": [ { "name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0", "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0", "types": [ "vegetarian_restaurant", "vegan_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "nationalPhoneNumber": "0433 479 794", "internationalPhoneNumber": "+61 433 479 794", "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "displayName": { "text": "Spiced @ Barangaroo", "languageCode": "en" }, ... }, ... ] }
Daher geben Sie eine Feldmaske für diese APIs im folgenden Format an:
places[.secondLevelField][.thirdLevelField][...]
Wenn nur die Felder formattedAddress
und displayName
zurückgegeben werden sollen, legen Sie
Feldmaske auf:
places.formattedAddress,places.displayName
Wenn Sie displayName
angeben, sind die Felder text
und language
von
displayName
Wenn Sie nur das Feld text
haben möchten, legen Sie die Feldmaske so fest:
places.formattedAddress,places.displayName.text
Antwortfeldmaske für „Place Details“ definieren (Neu)
„Place Details“ gibt ein einzelnes „Place“-Objekt im folgenden Format zurück:
{ "name": "places/ChIJkR8FdQNB0VQRm64T_lv1g1g", "id": "ChIJkR8FdQNB0VQRm64T_lv1g1g", "types": [ "locality", "political" ], "formattedAddress": "Trinidad, CA 95570, USA", "displayName": { "text": "Trinidad", "languageCode": "en" } ... }
Daher geben Sie eine Feldmaske für diese API an, indem Sie die Felder von das Place-Objekt, das Sie zurückgeben möchten:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: formattedAddress,displayName" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
gRPC-Aufruf
Legen Sie für gRPC eine Variable fest, die die Antwortfeldmaske enthält. Sie können dann der Anfrage hinzufügen.
const ( fieldMask = "places.formattedAddress,places.displayName" )
Überlegungen zu Feldpfaden
Nehmen Sie nur die erforderlichen Felder in die Antwort auf. Wenn Sie nur die die Sie benötigen:
- Verringert die Verarbeitungszeiten, sodass Ihre Ergebnisse mit einer kürzeren Latenz.
- Sorgt für stabile Latenzzeiten, falls die API weitere Antwortfelder hinzufügt und diese neuen Felder erfordern zusätzliche Rechenzeit. Wenn Sie alle Felder auswählen. Wenn Sie alle Felder auf der obersten Ebene auswählen, verschlechtert sich, wenn alle neuen Felder automatisch in Ihrer Antwort enthalten.
- Ergibt eine kleinere Antwortgröße, was zu einem größeren Netzwerk führt. Durchsatz.
- sorgt dafür, dass keine unnötigen Daten angefordert werden, wodurch unnötige Verarbeitungszeit und in Rechnung gestellte Gebühren.