เลือกช่องที่จะส่งคืน

นักพัฒนาซอฟต์แวร์ในเขตเศรษฐกิจยุโรป (EEA)

เมื่อคุณส่งคำขอการเข้ารหัสทางภูมิศาสตร์ คุณสามารถใช้มาสก์ฟิลด์เพื่อระบุรายการฟิลด์ที่จะส่งกลับในการตอบกลับ สำหรับจุดสิ้นสุด Geocode ที่อยู่, Geocode ตำแหน่ง และ Place geocoding ฟิลด์ทั้งหมดในวัตถุตอบกลับจะถูกส่งคืนตามค่าเริ่มต้น สำหรับปลายทางค้นหาสถานที่ คุณต้องระบุมาสก์ฟิลด์ในคำขอ API

ใช้ Field Mask เพื่อให้แน่ใจว่าคุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยลดเวลาในการตอบกลับ

กำหนดฟิลด์มาสก์การตอบกลับ

หน้ากากฟิลด์การตอบสนองเป็นรายการเส้นทางที่คั่นด้วยจุลภาคโดยไม่มีช่องว่าง โดยที่แต่ละเส้นทางจะระบุฟิลด์ที่ไม่ซ้ำกันในวัตถุการตอบสนอง เส้นทางจะเริ่มต้นจาก ฟิลด์การตอบกลับระดับบนสุดและใช้เส้นทางที่คั่นด้วยจุดไปยังฟิลด์ที่ระบุ

ส่งหน้ากากฟิลด์การตอบสนองไปยังคำขอโดยใช้พารามิเตอร์ 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
        }
      }
    }
  ]
}

วิธีส่งคืนทั้ง 2 รายการ

-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