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

เลือกช่องที่จะแสดง

เมื่อขอเส้นทางหรือเมทริกซ์เส้นทาง คุณต้องใช้ Field Mask เพื่อระบุข้อมูลที่การตอบกลับควรแสดง ไม่มีรายการฟิลด์ที่แสดงผลเริ่มต้น หากคุณไม่ระบุ FieldMask เมธอดจะแสดงข้อผิดพลาด

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

คุณระบุรายการช่องที่ต้องการในมาสก์ฟิลด์การตอบกลับ จากนั้นส่งฟิลด์มาสก์การตอบกลับไปยังเมธอดใดเมธอดหนึ่งโดยใช้พารามิเตอร์ URL $fields หรือ fields หรือโดยใช้ส่วนหัว HTTP หรือ gRPC X-Goog-FieldMask

ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ของ URL ได้ที่ พารามิเตอร์ของระบบ

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

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

สร้างและระบุเส้นทางฟิลด์ดังนี้

  1. ค้นหาช่องที่มีข้อมูลที่คุณต้องการ ดูรายละเอียดได้ที่การอ้างอิงฟิลด์
  2. กำหนดเส้นทางสำหรับฟิลด์ที่ต้องการและสร้างฟิลด์มาสก์สำหรับฟิลด์เหล่านั้น: ดูรายละเอียดได้ที่กำหนดฟิลด์มาสก์ที่ต้องการใช้
  3. รวมมาสก์ของช่องสำหรับช่องทั้งหมดที่คุณต้องการ โดยคั่นมาสก์ของช่องด้วยคอมมา เช่น หากต้องการขอ distanceMeters สำหรับขาของเส้นทาง รวมถึงระยะเวลาสำหรับแต่ละขั้นตอนของขาของเส้นทาง ให้ป้อนทั้ง 2 อย่างโดยคั่นด้วยคอมมาและไม่ต้องเว้นวรรค

    routes.legs.distanceMeters,routes.legs.steps.duration
  4. ส่งมาสก์ฟิลด์พร้อมกับคำขอ API เช่น ในคำขอ curl คุณจะระบุมาสก์ฟิลด์ด้วย -H และ X-Goog-FieldMask ดังนี้

    -H X-Goog-FieldMask: routes.legs.distanceMeters,routes.legs.steps.duration
ดูตัวอย่างและรายละเอียดเพิ่มเติมได้ที่ส่วนต่อไปนี้

การอ้างอิงฟิลด์

หากต้องการดูฟิลด์ที่คุณขอได้ในการตอบกลับผ่านฟิลด์มาสก์ โปรดดูการอ้างอิง Compute Routes หรือ Compute Route Matrix ของ Routes API ที่ลิงก์ไว้ในรายการต่อไปนี้ ระบุฟิลด์ในรูปแบบ Camel Case ดังที่แสดงในการอ้างอิง เช่น routePreference

การอ้างอิงเหล่านี้รวมถึงฟิลด์ที่พร้อมใช้งาน อย่างไรก็ตาม คุณต้องอ้างอิงถึงลำดับชั้นของฟิลด์เพื่อกำหนดเส้นทางมาสก์ฟิลด์แบบเต็ม ดูรายละเอียดเกี่ยวกับการรับลำดับชั้นของฟิลด์ได้ที่กำหนดฟิลด์มาสก์ที่ต้องการใช้

  • มาสก์ฟิลด์เส้นทางการคำนวณ
    • REST: ระบุฟิลด์ของออบเจ็กต์ Route ใน การตอบกลับที่จะแสดงผล โดยมีคำนำหน้าเป็น routes. เช่น routes.distanceMeters
    • gRPC: ระบุฟิลด์ของออบเจ็กต์ Route ใน การตอบกลับที่จะแสดงผล
  • มาสก์ฟิลด์ของเมตริกเส้นทาง Compute

กำหนดว่าจะใช้ฟิลด์มาสก์ใด

วิธีระบุช่องที่ต้องการใช้และสร้างมาสก์ของช่องสำหรับช่องเหล่านั้นมีดังนี้

  1. ขอทุกฟิลด์โดยใช้มาสก์ฟิลด์ของ *
  2. ดูลำดับชั้นของฟิลด์ในคำตอบสำหรับฟิลด์ที่คุณต้องการ
  3. สร้างมาสก์ฟิลด์โดยใช้ลำดับชั้นของฟิลด์ที่แสดงในขั้นตอนก่อนหน้าโดยใช้รูปแบบต่อไปนี้

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

ตัวอย่างเช่น สำหรับคำตอบเพียงบางส่วนจากเส้นทางนี้

"routes": [
    {
        "legs": [
            {  "steps": [
                    {"distanceMeters": 119},
                    {"distanceMeters": 41}  ]
            }
        ],
        "distanceMeters": 160
    }
]

หากต้องการแสดงเฉพาะฟิลด์ distanceMeters สำหรับขาของเส้นทาง นั่นคือ distanceMeters สุดท้ายในตัวอย่างก่อนหน้า มาสก์ฟิลด์จะเป็นดังนี้

routes.legs.distanceMeters

หากต้องการส่งคืนฟิลด์ distanceMeters สำหรับแต่ละขั้นตอนของขาเส้นทางแทน นั่นคือ distanceMeters ภายใต้ steps ในตัวอย่างก่อนหน้า มาสก์ฟิลด์จะเป็นดังนี้

routes.legs.steps.distanceMeters

หากต้องการส่งคืนทั้ง 2 รายการโดยมีผลลัพธ์ข้างต้น ฟิลด์มาสก์จะเป็นดังนี้

routes.legs.distanceMeters,routes.legs.steps.distanceMeters

ตัวอย่างเส้นทางฟิลด์มาสก์

ส่วนนี้มีตัวอย่างเพิ่มเติมเกี่ยวกับวิธีระบุเส้นทางฟิลด์เป็นส่วนหนึ่งของมาสก์ฟิลด์การตอบกลับในการเรียก REST และ gRPC

การเรียก REST ไปยัง computeRoutes

ในตัวอย่างแรก คุณใช้การเรียก REST ไปยังเมธอด computeRoutes เพื่อคำนวณ เส้นทาง ในตัวอย่างนี้ คุณระบุมาสก์ของช่องในส่วนหัวเพื่อส่งคืนช่องเส้นทาง distanceMeters และ duration ในการตอบกลับ อย่าลืมใส่คำนำหน้าชื่อฟิลด์ด้วย routes

X-Goog-FieldMask: routes.distanceMeters,routes.duration

การเรียก REST ไปยัง computeRouteMatrix

สำหรับเมธอด REST computeRouteMatrix ที่ใช้ในการคำนวณเมทริกซ์เส้นทาง ให้ระบุในส่วนหัวเพื่อส่งคืน originIndex, destinationIndex และ duration สำหรับชุดค่าผสมต้นทาง และปลายทางแต่ละชุด

X-Goog-FieldMask: originIndex,destinationIndex,duration

การเรียก gRPC ไปยัง computeRoutes

สำหรับเมธอด gRPC computeRoutes ที่ใช้ในการคำนวณเส้นทาง ให้ตั้งค่าตัวแปรที่มีมาสก์ฟิลด์การตอบกลับเพื่อแสดงผลฟิลด์เส้นทาง distanceMeters, duration และฟิลด์ Polyline ที่เข้ารหัสในการตอบกลับ จากนั้นคุณจะส่งตัวแปรนั้นไปยังคำขอได้

const (
  fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline"
)

การเรียก gRPC ไปยัง computeRouteMatrix

สำหรับเมธอด gRPC computeRouteMatrix ที่ใช้ในการคำนวณเมทริกซ์เส้นทาง ให้ตั้งค่าตัวแปรที่มีมาสก์ฟิลด์การตอบกลับเพื่อระบุการส่งคืน originIndex, destinationIndex และ duration สำหรับต้นทางและปลายทางแต่ละคู่ จากนั้นคุณจะส่งตัวแปรนั้นไปยังคำขอได้

const (
  fieldMask = "originIndex,destinationIndex,duration"
)

ข้อควรพิจารณาเกี่ยวกับเส้นทางช่อง

รวมเฉพาะฟิลด์ที่คุณต้องการในการตอบกลับเพื่อแสดงเฉพาะฟิลด์ที่คุณต้องการ

  • ลดเวลาในการประมวลผล เพื่อให้ระบบแสดงผลลัพธ์โดยมีเวลาในการตอบสนองที่ต่ำลง
  • ช่วยให้ประสิทธิภาพเวลาในการตอบสนองมีเสถียรภาพ หากคุณ เลือกช่องทั้งหมด หรือเลือกช่องทั้งหมดที่ระดับบนสุด คุณอาจ พบว่าประสิทธิภาพลดลงเมื่อมีการเพิ่มช่องใหม่ แล้วระบบ รวมช่องเหล่านั้นไว้ในการตอบกลับโดยอัตโนมัติ
  • ส่งผลให้ขนาดการตอบกลับเล็กลง ซึ่งจะทำให้อัตราการส่งข้อมูลของเครือข่ายสูงขึ้น
  • ตรวจสอบว่าคุณไม่ได้ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยงเวลาในการประมวลผลที่ไม่จำเป็นและค่าใช้จ่ายที่เรียกเก็บ

ดูรายละเอียดเพิ่มเติมเกี่ยวกับการสร้างมาสก์ฟิลด์ได้ที่ field_mask.proto