เส้นทางไปยังจุดนำทาง

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

ฉากหลัง

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

ตัวเลือกจุดแวะพักที่ดียิ่งขึ้นจะช่วยแก้ปัญหานี้ด้วยการให้คุณระบุบริบทเพิ่มเติม

ใช้โทเค็นจุดนำทาง

หากต้องการกำหนดเส้นทางที่แม่นยำที่สุดไปยังจุดเข้าถึงที่เฉพาะเจาะจง เช่น ทางเข้า ท่าเทียบเรือ หรือพื้นที่รับที่กำหนด คุณสามารถใช้ navigationPointToken ได้

คุณจะได้รับโทเค็นนี้โดยการเรียกใช้เมธอด Destinations ของ Geocoding API โทเค็นนี้แสดงถึงจุดนำทางที่กำหนดเส้นทางได้และเฉพาะเจาะจงซึ่งเชื่อมโยงกับสถานที่

วิธีระบุโทเค็นจุดนำทาง

  1. รับ navigationPointToken จาก เมธอด Destinations ของ Geocoding API การตอบกลับ

  2. ระบุ navigationPointToken เมื่อสร้าง GMSNavigationWaypoint

หมายเหตุ: คุณไม่สามารถระบุโทเค็นจุดนำทางพร้อมกับสถานที่และรหัสสถานที่ได้พร้อมกัน

Swift

// Create a waypoint using a navigation endpoint token
let waypointTwo = GMSNavigationWaypoint(
  navigationPointToken: "ChIJALijSXPhQkARHmIozCCbXsASEgkFVjYHGH6PgBFrbM7wl3.."
  title: "Sydney Opera House")

// Route to the waypoint
navigator.setDestinations([waypointTwo]) { [weak self] routeStatus in
   self?.handleRouteCallback(status: routeStatus)
}

Objective-C

GMSNavigationWaypoint *waypointTwo = [[GMSNavigationWaypoint alloc] initWithNavigationPointToek:@"sampleNavigationPointToken"

ใช้โทเค็นจุดนำทางและโทเค็นเส้นทาง

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

โทเค็นเส้นทางจะกำหนดเส้นทางที่ Navigation SDK เลือกให้เป็นเส้นทางที่ใช้ในการกำหนดราคา ซึ่งจะช่วยลดความเสี่ยงในการใช้เส้นทางที่ยาวขึ้นหรือสั้นลงสำหรับการเดินทาง ซึ่งอาจทำให้เกิด "การเปลี่ยนแปลงราคาอย่างกะทันหัน"

ดูข้อมูลเพิ่มเติมเกี่ยวกับการระบุ สถานที่โดยใช้โทเค็นจุดนำทางและ การสร้างโทเค็นเส้นทาง ได้ในเอกสารประกอบของ Routes API ดูวิธีวางแผนเส้นทางโดยใช้โทเค็นเส้นทางได้ที่ "วางแผนเส้นทาง"

แผนภาพนี้แสดงวิธีที่แอปแชร์รถหรือแอปจัดส่งจะใช้โทเค็นจุดนำทางและโทเค็นเส้นทางร่วมกัน

แผนภาพกรณีการใช้งานการแชร์รถหรือการนำส่ง
แผนภาพกรณีการใช้งานแชร์รถหรือจัดส่ง

รวมรหัสสถานที่และสถานที่

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

Swift

// Create a waypoint using both the latlng and placeID
let waypoint = GMSNavigationWaypoint(
  location: CLLocationCoordinate2DMake(-33.85657945261524, 151.21535034203333),  
  placeID: "ChIJ3S-JXmauEmsRUcIaWtf4MzE",
  title: "Sydney Opera House")

// Route to the waypoint
navigator.setDestinations([waypoint]) { [weak self] routeStatus in
   self?.handleRouteCallback(status: routeStatus)
}

Objective-C

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationWaypoint *waypoint = [[GMSNavigationWaypoint alloc] initWithLocation:placeID:coordinate title:@"waypoint from location and placeiD"];

ข้อควรพิจารณา

เมื่อระบุทั้ง placeID และ location

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

สรุปการกำหนดค่าจุดอ้างอิงที่ถูกต้อง

ข้อมูลจำเพาะ location placeID navigationPointToken ลักษณะการทำงานของการกำหนดเส้นทาง การไฮไลต์จุดหมาย
พิกัดของสถานที่เท่านั้น ตั้งค่า ไม่ได้ระบุ ไม่ได้ระบุ กำหนดเส้นทางไปยังส่วนถนนที่ใกล้กับพิกัดที่กำหนดมากที่สุด แสดงขึ้นหากอนุมานจุดหมายได้อย่างมั่นใจ
รหัสสถานที่เท่านั้น ไม่ได้ระบุ ตั้งค่า ไม่ได้ระบุ กำหนดเส้นทางไปยังจุดนำทางเริ่มต้นสำหรับรหัสสถานที่ จากรหัสสถานที่
โทเค็นจุดนำทางเท่านั้น ไม่ได้ระบุ ไม่ได้ระบุ ตั้งค่า กำหนดเส้นทางไปยังจุดนำทางที่แน่นอนซึ่งแสดงโดยโทเค็น จากจุดหมายที่กำหนดไว้ในเมธอด Destinations เดิมของคำขอ Geocoding API
รวมพิกัดของสถานที่และรหัสสถานที่ ตั้งค่า ตั้งค่า ไม่ได้ระบุ กำหนดเส้นทางไปยังส่วนถนนที่ใกล้กับพิกัดที่กำหนดมากที่สุด จากรหัสสถานที่ แต่จะไม่แสดงหากรหัสสถานที่อยู่ไกลจากพิกัดละติจูด/ลองจิจูดมากเกินไป