Coğrafi kodlama isteğinde bulunduğunuzda, yanıtta döndürülecek alanların listesini belirtmek için alan maskesi kullanabilirsiniz. Alan maskeleri, gereksiz veriler istememenizi sağlayarak yanıt gecikmesini azaltmaya yardımcı olur.
Bir adrese coğrafi kod ekleme, Bir konuma coğrafi kod ekleme ve Yer coğrafi kodlama yöntemleri için yanıt nesnesindeki tüm alanlar varsayılan olarak döndürülür. Alan maskesi zorunlu olmasa da yanıt gecikmesini azaltmak için bunları kullanmanızı önemle tavsiye ederiz.
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, üst düzey yanıt alanından başlar ve belirtilen bir alana nokta ile ayrılmış bir yol kullanır.
URL parametresi $fields veya fields ya da HTTP veya gRPC başlığı X-Goog-FieldMask'yı kullanarak yanıt alanı maskesini 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/v4/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 } } } ] }
İkisini de iade etmek 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.