เลือกช่องที่จะแสดง
เมื่อขอเส้นทางหรือเมทริกซ์เส้นทาง คุณต้องใช้ Field Mask เพื่อระบุข้อมูลที่การตอบกลับควรแสดง ไม่มีรายการฟิลด์ที่แสดงผลเริ่มต้น หากไม่ระบุ FieldMask เมธอดจะแสดงข้อผิดพลาด
การใช้ Field Mask ยังช่วยให้คุณไม่ต้องขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยลดเวลาในการตอบสนองและหลีกเลี่ยงการแสดงข้อมูลที่ระบบของคุณไม่ต้องการ
คุณระบุรายการช่องที่ต้องการในมาสก์ของช่องการตอบกลับ จากนั้นส่งมาสก์ฟิลด์การตอบกลับไปยังเมธอดใดเมธอดหนึ่งโดยใช้พารามิเตอร์ URL $fields
หรือ fields
หรือโดยใช้ส่วนหัว HTTP หรือ gRPC X-Goog-FieldMask
ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ของ URL ได้ที่ พารามิเตอร์ของระบบ
กำหนดฟิลด์มาสก์การตอบกลับ
ฟิลด์มาสก์การตอบกลับคือรายการเส้นทางที่คั่นด้วยคอมมา โดยแต่ละ เส้นทางจะระบุฟิลด์ที่ไม่ซ้ำกันในข้อความตอบกลับ เส้นทางเริ่มต้นจากข้อความตอบกลับระดับบนสุดและใช้เส้นทางที่คั่นด้วยจุดไปยังฟิลด์ที่ระบุ
สร้างและระบุเส้นทางฟิลด์ดังนี้
- ค้นหาช่องที่มีข้อมูลที่คุณต้องการ ดูรายละเอียดได้ที่การอ้างอิงฟิลด์
- กำหนดเส้นทางสำหรับฟิลด์ที่คุณต้องการและสร้างฟิลด์มาสก์สำหรับฟิลด์เหล่านั้น: ดูรายละเอียดได้ที่กำหนดฟิลด์มาสก์ที่ต้องการใช้
รวมมาสก์ฟิลด์สำหรับฟิลด์ทั้งหมดที่คุณต้องการ โดยคั่นมาสก์ฟิลด์ด้วยคอมมา เช่น หากต้องการขอ
distanceMeters
สำหรับช่วงของเส้นทาง รวมถึงระยะเวลาสำหรับแต่ละขั้นตอนของช่วงเส้นทาง ให้ป้อนทั้ง 2 อย่างโดยคั่นด้วยคอมมาและไม่ต้องเว้นวรรค ดังนี้routes.legs.distanceMeters,routes.legs.steps.duration
ส่งมาสก์ฟิลด์พร้อมกับคำขอ 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
การอ้างอิงเหล่านี้รวมถึงฟิลด์ที่พร้อมใช้งาน อย่างไรก็ตาม คุณต้องอ้างอิงถึงลำดับชั้นของฟิลด์เพื่อกำหนดเส้นทางมาสก์ฟิลด์แบบเต็ม ดูรายละเอียดเกี่ยวกับการรับลำดับชั้นของฟิลด์ได้ที่กำหนดฟิลด์มาสก์ที่ต้องการใช้
- มาสก์ฟิลด์เส้นทางการคำนวณ
- มาสก์ฟิลด์ Compute Route Matrix
- REST: ระบุฟิลด์ของเนื้อหาการตอบกลับที่จะแสดงผล
- gRPC: ระบุฟิลด์ของออบเจ็กต์ RouteMatrixElement ในการตอบกลับที่จะแสดงผล
กำหนดว่าจะใช้มาสก์ฟิลด์ใด
วิธีระบุช่องที่ต้องการใช้และสร้างมาสก์ของช่องสำหรับช่องเหล่านั้นมีดังนี้
- ขอฟิลด์ทั้งหมดโดยใช้ FieldMask ของ
*
- ดูลำดับชั้นของฟิลด์ในคำตอบสำหรับฟิลด์ที่คุณต้องการ
สร้างมาสก์ของฟิลด์โดยใช้ลำดับชั้นของฟิลด์ที่แสดงในขั้นตอนก่อนหน้าโดยใช้รูปแบบนี้
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
สำหรับ gRPC ให้ตั้งค่าตัวแปรที่มีมาสก์ฟิลด์การตอบกลับ จากนั้นคุณจะส่งตัวแปรนั้นไปยังคำขอได้
const ( fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline" )
ข้อควรพิจารณาเกี่ยวกับเส้นทางช่อง
รวมเฉพาะฟิลด์ที่คุณต้องการในการตอบกลับเพื่อแสดงเฉพาะฟิลด์ที่คุณต้องการ
- ลดเวลาในการประมวลผล เพื่อให้ระบบแสดงผลลัพธ์โดยมีเวลาในการตอบสนองที่ต่ำลง
- รับประกันประสิทธิภาพเวลาในการตอบสนองที่เสถียร หากคุณ เลือกช่องทั้งหมด หรือเลือกช่องทั้งหมดที่ระดับบนสุด คุณอาจ พบว่าประสิทธิภาพลดลงเมื่อมีการเพิ่มช่องใหม่ แล้วระบบ รวมช่องเหล่านั้นไว้ในการตอบกลับโดยอัตโนมัติ
- ส่งผลให้ขนาดการตอบกลับเล็กลง ซึ่งจะทำให้อัตราการส่งข้อมูลของเครือข่ายสูงขึ้น
- ช่วยให้คุณไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยประหยัดเวลาในการประมวลผลและค่าใช้จ่ายที่เรียกเก็บโดยไม่จำเป็น
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการสร้างมาสก์ฟิลด์ได้ที่ field_mask.proto