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 kodlama uygulama, Konuma coğrafi kodlama uygulama ve Yer coğrafi kodlama 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, aralarında boşluk olmayan 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/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 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 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 dosyasına bakın.