Coğrafi kodlama isteğinde bulunduğunuzda, yanıtta döndürülecek alanların listesini belirtmek için alan maskesi kullanabilirsiniz. Adrese coğrafi kod ekle, Konumu coğrafi kodla ve Coğrafi kodlamayı yerleştir uç noktaları için yanıt nesnesindeki tüm alanlar varsayılan olarak döndürülür. Hedef arama uç noktası için API isteğinde bir alan maskesi belirtmeniz gerekir.
Gereksiz veri istemediğinizden emin olmak için alan maskesi kullanın. Bu da yanıt gecikmesini azaltmaya yardımcı olur.
Yanıt alanı maskesi tanımlama
Yanıt alan maskesi, boşluk içermeyen ve virgülle ayrılmış bir yol listesidir. Her yol, yanıt nesnesindeki benzersiz bir alanı belirtir. Yol, en üst düzey yanıt alanından başlar ve belirtilen alana noktayla ayrılmış bir yol kullanır.
Yanıt alanı maskesini, $fields veya fields URL parametresini ya da X-Goog-FieldMask HTTP veya gRPC başlığını kullanarak bir isteğe iletin.
Örnek alan maskeleri
Aşağıda, ileri coğrafi kodlama isteğine verilen yanıtın tamamı gösterilmektedir:
{ "results": [ { "place": "//places.googleapis.com/places/ChIJF4Yf2Ry7j4AR__1AkytDyAE", "placeId": "ChIJF4Yf2Ry7j4AR__1AkytDyAE", "location": { "latitude": 37.422010799999995, "longitude": -122.08474779999999 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.420656719708511, "longitude": -122.08547523029148 }, "high": { "latitude": 37.4233546802915, "longitude": -122.0827772697085 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", ... }
Alan maskelerinizi, yanıt alanlarının hiyerarşisini kullanarak şu biçimde oluşturun:
topLevelField[.secondLevelField][.thirdLevelField][...]
Örneğin, yanıtta yalnızca placeId alanını döndürmek için şu alan maskesini kullanın:
curl -X GET -H 'Content-Type: application/json' \ -H 'X-Goog-FieldMask: results.placeId' \ -H "X-Goog-Api-Key: API_KEY" \ "https://"geocode.googleapis.com/v4beta/"geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
Yanıt artık şu şekilde:
{ "results": [ { "placeId": "ChIJF4Yf2Ry7j4AR__1AkytDyAE" } ] }
viewport alanını döndürmek için alan maskeniz:
-H 'X-Goog-FieldMask: results.viewport'
Yanıt artık şu şekilde:
{ "results": [ { "viewport": { "low": { "latitude": 37.420654569708496, "longitude": -122.08547618029148 }, "high": { "latitude": 37.423352530291496, "longitude": -122.0827782197085 } } } ] }
Her ikisini de geri döndürmek için:
-H 'X-Goog-FieldMask: results.placeId,results.viewport'
Yanıt artık şu şekilde:
{ "results": [ { "placeId": "ChIJF4Yf2Ry7j4AR__1AkytDyAE", "viewport": { "low": { "latitude": 37.420654569708496, "longitude": -122.08547618029148 }, "high": { "latitude": 37.423352530291496, "longitude": -122.0827782197085 } } } ] }
gRPC alan maskeleri
gRPC için yanıt alanı maskesini içeren bir değişken ayarlayın. Ardından bu değişkeni isteğe iletebilirsiniz.
const ( fieldMask = "results.placeId,results.viewport" )
Alan yoluyla ilgili dikkat edilmesi gereken noktalar
Yalnızca ihtiyacınız olan alanları döndürmek için yanıta yalnızca gerekli alanları ekleyin:
- İşleme sürelerini kısaltır. Böylece sonuçlarınız daha düşük bir gecikmeyle döndürülür.
- Kararlı gecikme performansı sağlar. Tüm alanları veya üst düzeydeki tüm alanları seçerseniz yeni alanlar eklendiğinde ve yanıtınıza otomatik olarak dahil edildiğinde performans düşüşü yaşayabilirsiniz.
- Daha küçük bir yanıt boyutuyla sonuçlanır. Bu da daha yüksek ağ verimi anlamına gelir.
Alan maskesi oluşturma hakkında daha fazla bilgi için field_mask.proto sayfasına bakın.