ภาพรวมของการค้นหาบนเส้นทาง

ฟีเจอร์การค้นหาตามเส้นทางมีให้บริการใน Places (ใหม่) API ต่อไปนี้

  • การค้นหาข้อความ (ใหม่) เท่านั้น: ค้นหาสถานที่ตามเส้นทางการเดินทางที่กำหนดไว้ล่วงหน้า
  • การค้นหาข้อความ (ใหม่) และการค้นหาใกล้เคียง (ใหม่): คํานวณสรุปเส้นทางจากจุดต้นทางที่กำหนดไปยังสถานที่แต่ละแห่งในผลการค้นหา
  • การค้นหาข้อความ (ใหม่) เท่านั้น: คํานวณข้อมูลสรุปเส้นทางสําหรับสถานที่แต่ละแห่งตามเส้นทางการเดินทางที่กำหนดไว้ล่วงหน้า

ค้นหาในเส้นทาง

คุณใช้ Routes API เพื่อคำนวณเส้นทางการเดินทางระหว่าง 2 สถานที่ Routes API สามารถคำนวณเส้นทางสำหรับรถยนต์ จักรยาน ยานพาหนะ 2 ล้อ ระบบขนส่งสาธารณะ หรือการเดิน

การค้นหาข้อความ (ใหม่) ช่วยให้คุณใช้เส้นทางที่คำนวณแล้วนี้เพื่อค้นหาตามเส้นทางได้ เมื่อใช้ตัวเลือกนี้ คุณจะส่งเส้นทางที่คำนวณไว้ล่วงหน้าจาก Routes API ไปยังคำขอการค้นหาข้อความ (ใหม่) จากนั้นการตอบกลับจะมีสถานที่ที่ตรงกับเกณฑ์การค้นหาและอยู่ใกล้กับเส้นทางที่ระบุด้วย

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

ตัวอย่างเช่น ลองพิจารณาเส้นทางจากต้นทางซึ่งเรียกว่าจุดสังเกตใน Routes API ไปยังปลายทางที่คำนวณโดย Routes API

เส้นทางจากจุดเริ่มต้นไปยังจุดหมายด้วยผลการค้นหา

เมื่อคุณค้นหาตามเส้นทาง การค้นหาจะแสดงสถานที่ที่อยู่ใกล้กับเส้นทางโดยใช้เวลาอ้อมจากต้นทางไปยังปลายทางน้อยที่สุด ในตัวอย่างนี้ จุด A, B และ C คือสถานที่ที่การค้นหาแสดงผล

คํานวณสรุปการกำหนดเส้นทาง

การค้นหาข้อความ (ใหม่) และการค้นหาในพื้นที่ใกล้เคียง (ใหม่) สามารถคำนวณสรุปการกำหนดเส้นทาง ซึ่งหมายถึงระยะเวลาและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับตามตำแหน่งต้นทางการกำหนดเส้นทางที่ระบุในคำขอ เมื่อคุณระบุต้นทางของเส้นทาง คำตอบจะมีทั้งรายการสถานที่ที่ตรงกับการค้นหา รวมถึงระยะเวลาและระยะทางในการเดินทางจากต้นทางของเส้นทางไปยังสถานที่แต่ละแห่ง

ในรูปภาพต่อไปนี้ จุด A, B และ C คือสถานที่ที่แสดงในการตอบกลับการค้นหา

จุด A, B และ C คือสถานที่ที่แสดงในการตอบกลับการค้นหา

คำตอบสำหรับสถานที่แต่ละแห่งในผลการค้นหาจะมีระยะเวลาการเดินทางและระยะทางจากต้นทางการกำหนดเส้นทางไปยังสถานที่นั้นๆ (หากมี)

โดยค่าเริ่มต้น ระบบจะคำนวณระยะเวลาและระยะทางในการเดินทางโดยใช้ตัวเลือก TRAFFIC_UNAWARE ใน Routes API คุณเลือกที่จะตั้งค่ากำหนดการกำหนดเส้นทางให้พิจารณาสภาพการจราจรจริง TRAFFIC_AWARE_OPTIMAL หรือสภาพการจราจรจริงที่ลดเวลาในการตอบสนอง TRAFFIC_AWARE ในระหว่างการคํานวณได้

เกี่ยวกับเส้นทาง ช่วง และจุดแวะพัก

เส้นทางประกอบด้วยคอมโพเนนต์หลายอย่างตามที่ Routes API คำนวณไว้ ดังนี้

คอมโพเนนต์ที่ประกอบกันเป็นเส้นทาง

เส้นทางประกอบด้วยคอมโพเนนต์ต่อไปนี้

  • Waypoint: หากต้องการคำนวณเส้นทาง คุณต้องระบุตำแหน่งต้นทางและปลายทางเป็นอย่างน้อย คุณกำหนดตำแหน่งเหล่านี้เป็นจุดแวะพักบนเส้นทาง จุดแวะพักกลางทางคือสถานที่ระหว่างต้นทางและปลายทางที่คุณต้องการให้เส้นทางผ่าน
  • เส้นทาง: การเดินทางทั้งหมดจากจุดเริ่มต้นผ่านจุดแวะพักกลางทางไปยังจุดหมาย เส้นทางประกอบด้วยช่วงอย่างน้อย 1 ช่วง

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

  • ระยะ: เส้นทางจากจุดสังเกตหนึ่งๆ ในเส้นทางไปยังจุดสังเกตถัดไปในเส้นทาง แต่ละเส้นทางประกอบด้วยขั้นตอนแยกต่างหากอย่างน้อย 1 ขั้นตอน

    เส้นทางประกอบด้วยช่วงแยกต่างหากสำหรับเส้นทางจากจุดสังเกตแต่ละจุดไปยังจุดสังเกตถัดไป ตัวอย่างเช่น หากเส้นทางมีจุดเริ่มต้น 1 จุดและจุดหมาย 1 จุด แสดงว่าเส้นทางมีช่วงเดียว

    สำหรับจุดสังเกตเพิ่มเติมแต่ละจุดที่คุณเพิ่มลงในเส้นทางหลังจากต้นทางและปลายทาง ซึ่งเรียกว่าจุดสังเกตกลาง API จะเพิ่มช่วงแยกต่างหาก

ดูข้อมูลเพิ่มเติมเกี่ยวกับเส้นทางและการคำนวณเส้นทางได้ที่ Routes API

คํานวณสรุปเส้นทางด้วยการค้นหาบนเส้นทาง

คุณรวมการคำนวณสรุปเส้นทางเข้ากับการค้นหาตามเส้นทางได้ ในกรณีนี้ การค้นหาข้อความ (ใหม่) จะแสดงระยะเวลาเดินทางและระยะทางไปยังสถานที่แต่ละแห่งในการตอบกลับ จากนั้นจะแสดงระยะทางจากสถานที่แต่ละแห่งไปยังจุดหมายสุดท้ายของเส้นทาง คุณสามารถมองว่าการคำนวณนี้เป็นการระบุระยะเวลาและระยะทางในการเดินทางหากคุณเลี่ยงเส้นทางที่ระบุเพื่อไปยังสถานที่ในผลการค้นหา แล้วเดินทางต่อไปยังจุดหมายปลายทาง

ตัวอย่างเช่น ลองพิจารณาเส้นทางต่อไปนี้จากต้นทางไปยังปลายทางซึ่งคำนวณโดย Routes API ส่งเส้นทางนี้ไปยัง Text Search (New) API พร้อมกับเกณฑ์การค้นหา

เส้นทางจากจุดเริ่มต้นไปยังจุดหมายที่มีการอ้อมไปค้นหาผลการค้นหา

ในตัวอย่างนี้ สถานที่ ก คือสถานที่ที่แสดงในผลการค้นหาจาก Text Search (ใหม่) สำหรับการค้นหาแต่ละแห่งในการตอบกลับ การค้นหาจะระบุระยะเวลาและระยะทางที่ต้องอ้อมไปสถานที่นั้นๆ เป็นการเดินทาง 2 ช่วง

  • ส่วนแรกมีระยะเวลาและระยะทางในการเดินทางจากต้นทางของเส้นทางไปยังสถานที่ ในตัวอย่างนี้ เป็นการจองจากต้นทางไปยังสถานที่ ก
  • ส่วนระยะที่ 2 มีระยะเวลาเดินทางและระยะทางจากจุดเริ่มต้นไปยังปลายทางของเส้นทาง ในตัวอย่างนี้คือจาก A ไปยังปลายทาง

จากข้อมูลในการตอบกลับ คุณสามารถคํานวณระยะเวลาและระยะทางของเส้นทางอ้อมได้ โดยที่

  • \(t_{OD}\) คือระยะเวลาการเดินทางจากต้นทางไปยังจุดหมาย \(s_{OD}\) คือระยะทางการเดินทางจากต้นทางไปยังจุดหมาย
  • \(t_{OA}\) คือระยะเวลาการเดินทางจากต้นทางไปยัง A \(s_{OA}\) คือระยะทางการเดินทางจากต้นทางไปยัง A
  • \(t_{AD}\) คือระยะเวลาเดินทางจาก A ไปยังจุดหมาย \(s_{AD}\) คือระยะทางเดินทางจาก A ไปยังจุดหมาย

ระยะเวลาอ้อมคือความแตกต่างของระยะเวลาระหว่างการเดินทางเดิม (จากต้นทางไปยังปลายทาง) กับการเดินทางใหม่ (จากต้นทางไปยังปลายทางผ่าน A) ดังนี้

$$ t_{detour} = t_{OA} + t_{AD} - t_{OD} $$

ระยะทางอ้อมคือความแตกต่างของระยะทางระหว่างการเดินทางเดิม (จากต้นทางไปยังปลายทาง) กับการเดินทางใหม่ (จากต้นทางไปยังปลายทางผ่าน A) ดังนี้

$$ s_{detour} = s_{OA} + s_{AD} - s_{OD} $$