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

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

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

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

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

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

กำหนด Response Field Mask

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

สร้างและระบุเส้นทางของช่องดังนี้

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

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

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

การอ้างอิงช่อง

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

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

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

กำหนด Field Mask ที่จะใช้

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

  1. ขอช่องทั้งหมด โดยใช้ Field Mask เป็น *
  2. ดูที่ลำดับชั้นของช่อง ในการตอบกลับสำหรับ ช่องที่ต้องการ
  3. สร้าง Field Mask โดยใช้ลำดับชั้นของช่องที่แสดงในขั้นตอนก่อนหน้าในรูปแบบต่อไปนี้

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

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

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

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

routes.legs.distanceMeters

หากต้องการแสดงผลช่อง distanceMeters สำหรับแต่ละขั้นของขาของเส้นทาง นั่นคือ distanceMeters ใน steps ในตัวอย่างก่อนหน้า Field Mask จะเป็นดังนี้

routes.legs.steps.distanceMeters

หากต้องการแสดงผลทั้ง 2 อย่างพร้อมผลลัพธ์ด้านบน Field Mask จะเป็นดังนี้

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

เส้นทาง Field Mask ตัวอย่าง

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

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

ในตัวอย่างแรก คุณใช้การเรียก REST ไปยัง computeRoutes เมธอด เพื่อคำนวณ เส้นทาง ในตัวอย่างนี้ ในส่วนหัว คุณจะระบุ Field Mask เพื่อแสดงผลช่อง 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 ที่ใช้ในการคำนวณเส้นทาง ให้ตั้งค่าตัวแปรที่มี Response Field Mask เพื่อแสดงผลช่อง distanceMeters, duration และเส้นประกอบที่เข้ารหัสของเส้นทางในการตอบกลับ จากนั้นคุณจะส่งตัวแปรดังกล่าวไปยังคำขอได้

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

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

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

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

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

รวมเฉพาะช่องที่ต้องการในการตอบกลับเพื่อแสดงผลเฉพาะช่องที่ต้องการ

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

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