فیلدهایی را برای بازگشت انتخاب کنید

توسعه دهندگان منطقه اقتصادی اروپا (EEA).

هنگامی که درخواست کدگذاری جغرافیایی می‌کنید، می‌توانید از یک فیلد ماسک برای تعیین لیست فیلدهایی که باید در پاسخ بازگردانده شوند استفاده کنید. به طور پیش فرض، درخواست تمام فیلدهای موجود در شی پاسخ را برمی گرداند.

از یک فیلد ماسک استفاده کنید تا اطمینان حاصل کنید که داده های غیرضروری درخواست نمی کنید، که به نوبه خود به تاخیر پاسخ کمک می کند.

ماسک فیلد پاسخ را تعریف کنید

ماسک فیلد پاسخ، لیستی از مسیرهای جدا شده با کاما و بدون فاصله است که در آن هر مسیر یک فیلد منحصر به فرد را در شی پاسخ مشخص می کند. مسیر از قسمت پاسخ سطح بالا شروع می شود و از یک مسیر جدا شده با نقطه به یک فیلد مشخص استفاده می کند.

ماسک فیلد پاسخ را با استفاده از پارامتر URL $fields یا fields $، یا با استفاده از هدر HTTP یا gRPC X-Goog-FieldMask به درخواست ارسال کنید.

نمونه ماسک های میدانی

در زیر نشان داده شده است پاسخ کامل از یک درخواست کدگذاری جغرافیایی پیشرو:

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

ماسک های فیلد خود را با استفاده از سلسله مراتب فیلدهای پاسخ به شکل زیر بسازید:

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

به عنوان مثال، برای برگرداندن تنها فیلد placeId در پاسخ، از یک فیلد ماسک استفاده کنید:

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"

اکنون پاسخ این است:

{
  "results": [
    {
      "placeId": "ChIJF4Yf2Ry7j4AR__1AkytDyAE"
    }
  ]
}

برای برگرداندن فیلد viewport ، ماسک فیلد شما به صورت زیر است:

-H 'X-Goog-FieldMask: results.viewport'

اکنون پاسخ این است:

{
  "results": [
    {
      "viewport": {
        "low": {
          "latitude": 37.420654569708496,
          "longitude": -122.08547618029148
        },
        "high": {
          "latitude": 37.423352530291496,
          "longitude": -122.0827782197085
        }
      }
    }
  ]
}

برای برگرداندن هر دو:

-H 'X-Goog-FieldMask: results.placeId,results.viewport'

اکنون پاسخ این است:

{
  "results": [
    {
      "placeId": "ChIJF4Yf2Ry7j4AR__1AkytDyAE",
      "viewport": {
        "low": {
          "latitude": 37.420654569708496,
          "longitude": -122.08547618029148
        },
        "high": {
          "latitude": 37.423352530291496,
          "longitude": -122.0827782197085
        }
      }
    }
  ]
}

ماسک های فیلد gRPC

برای gRPC، یک متغیر حاوی ماسک فیلد پاسخ تنظیم کنید. سپس می توانید آن متغیر را به درخواست ارسال کنید.

const (
  fieldMask = "results.placeId,results.viewport"
)

ملاحظات مسیر میدانی

فقط فیلدهایی را که برای برگرداندن فقط فیلدهایی که نیاز دارید در پاسخ بگنجانید:

  • زمان پردازش را کاهش می دهد ، بنابراین نتایج شما با تاخیر کمتری برمی گردند.
  • عملکرد تأخیر پایدار را تضمین می کند . اگر همه فیلدها را انتخاب کنید، یا اگر همه فیلدها را در سطح بالا انتخاب کنید، ممکن است با افزودن فیلدهای جدید و سپس به طور خودکار در پاسخ شما، کاهش عملکرد را تجربه کنید.
  • منجر به اندازه پاسخ کوچکتر می شود که به توان عملیاتی شبکه بالاتر تبدیل می شود.

برای جزئیات بیشتر در مورد ساخت یک فیلد ماسک، به field_mask.proto مراجعه کنید.