Döndürülecek alanları seçin

Yer Ayrıntılarını aradığınızda (Yeni), Yakında Arama (Yeni) veya Metin Arama (Yeni) yöntemlerinden birini kullanıyorsanız yanıtta döndürülmesini istediğiniz alanları belirtin. Varsayılan liste yok sayısı. Bu listeyi çıkarırsanız yöntemler hata döndürür.

Alan listesini, bir yanıt alanı maskesi oluşturarak belirtebilirsiniz. Ardından ya da $fields parametresini kullanarak her iki yöntem için de yanıt alanı maskesini fields veya HTTP ya da gRPC başlığını X-Goog-FieldMask kullanarak.

Alan maskeleme, bir kullanıcının sizden başka bir alan adına gereksiz veriler sağlar, bu da gereksiz işlem süresini ve faturalandırmayı önler anlamına gelir.

Yanıt alanı maskesi tanımlama

Yanıt alanı maskesi, yolların virgülle ayrılmış bir listesidir; her bir yol yanıt mesajında benzersiz bir alan belirtir. Yol, üst düzey yanıt iletisi gönderir ve belirtilen alana noktayla ayrılmış bir yol kullanır.

Aşağıdaki gibi bir alan yolu oluşturun:

topLevelField[.secondLevelField][.thirdLevelField][...]
.

* alan maskesini kullanarak tüm alanları isteyebilirsiniz.

Alan maskelerinin nasıl oluşturulacağıyla ilgili daha fazla bilgi için field_mask.proto da kullanabilirsiniz.

Hangi alan maskelerinin kullanılacağını belirleme

Kullanmak istediğiniz alan maskelerini nasıl belirleyeceğiniz aşağıda açıklanmıştır:

  1. "*" alan maskesini kullanarak tüm alanları isteyin.
  2. Yanıttaki alanların hiyerarşisine bakın ve istediğiniz alanları seçin.
  3. Alan hiyerarşisini kullanarak alan maskenizi oluşturun.

Yakındaki Arama (Yeni) ve Metin Arama (Yeni) için bir yanıt alanı maskesi tanımlayın

Yakındaki Arama (Yeni) ve Metin Arama (Yeni) bir Yer nesneleri dizisi döndürür: yanıtın places alanına girin. places, bu API'ler için üst düzeydir kullanabilirsiniz.

Örneğin, bir Metin Arama (Yeni):

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'

Metin Arama'dan alınan tam yanıt nesnesi (Yeni) çağrı şu biçimdedir:

{
  "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"
      },      ...
    },
  ...
  ]
}

Bu nedenle, aşağıdaki biçimde bu API'ler için bir alan maskesi belirtirsiniz:

places[.secondLevelField][.thirdLevelField][...]

Yalnızca formattedAddress ve displayName alanlarının döndürülmesini istiyorsanız alan maskenizi şu şekilde ayarlayın:

places.formattedAddress,places.displayName

displayName belirtildiğindetextlanguage displayName Yalnızca text alanını istiyorsanız alan maskesini şu şekilde ayarlayın:

places.formattedAddress,places.displayName.text

Yer Ayrıntıları için bir yanıt alanı maskesi tanımlayın (Yeni)

Yer Ayrıntıları şu formda tek bir Yer nesnesi döndürür:

{
  "name": "places/ChIJkR8FdQNB0VQRm64T_lv1g1g",
  "id": "ChIJkR8FdQNB0VQRm64T_lv1g1g",
  "types": [
    "locality",
    "political"
  ],
  "formattedAddress": "Trinidad, CA 95570, USA",
  "displayName": {
    "text": "Trinidad",
    "languageCode": "en"
  }
  ...
}

Bu nedenle, iade etmek istediğiniz Yer nesnesi:

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 çağrısı

gRPC için yanıt alanı maskesini içeren bir değişken belirleyin. Ardından bu değişkeni isteğe ekler.

const (
  fieldMask = "places.formattedAddress,places.displayName"
)

Alan yoluyla dikkat edilmesi gereken noktalar

Yalnızca yanıtta zorunlu kılınan alanları ekleyin. Yalnızca aşağıdaki alanları doldurmanız gerekir:

  • İşleme sürelerini azaltır, böylece sonuçlarınız daha düşük bir
  • API daha fazla yanıt alanı eklerse stabil gecikme performansı sağlar. ve bu yeni alanlar daha fazla hesaplama süresi gerektirecektir. Şu durumda: tüm alanları seçebilir veya en üst düzeydeki tüm alanları seçerseniz tüm yeni alanlar olduğunda performansta düşüş yaşanır yanıtınıza otomatik olarak eklenir.
  • Daha küçük yanıt boyutunda sonuçlar, bu da daha büyük bir ağa dönüşür. işleme hızı.
  • Gereksiz veriler istememenizi sağlar, bu da kaçınmanızı gereksiz işlem süresi ve faturalandırılmış ücretler anlamına gelir.