Routes Library ใหม่ใน Maps JavaScript API มีคลาส Route
ซึ่งจะมาแทนที่บริการเส้นทางเดิม หน้านี้อธิบายความแตกต่างระหว่างบริการเส้นทางแบบเดิมกับคลาส Route
ใหม่ และแสดงโค้ดบางส่วนเพื่อใช้เปรียบเทียบ
บริการเส้นทาง (เดิม) เทียบกับคลาสเส้นทาง (เบต้า)
พารามิเตอร์คำขอ
ตารางต่อไปนี้จะเปรียบเทียบพารามิเตอร์คำขอสำหรับบริการเส้นทางเดิมและคลาส Route
การเปรียบเทียบวิธีการ
ตารางต่อไปนี้จะเปรียบเทียบวิธีการหลักสำหรับบริการเส้นทางเดิมและคลาส Route
บริการเส้นทาง (เดิม) | Route (เบต้า) |
---|---|
route() เมธอด |
computeRoutes() เมธอด |
DirectionsRenderer.setDirections() เมธอด |
createPolylines() เมธอด
createWaypointAdvancedMarkers() เมธอด
|
การเปรียบเทียบโค้ด
ส่วนนี้จะเปรียบเทียบโค้ด 2 รายการที่คล้ายกันเพื่อแสดงความแตกต่างระหว่างบริการเส้นทางเดิมกับคลาส Route
ใหม่ ข้อมูลโค้ดแสดงโค้ด
ที่จำเป็นใน API แต่ละรายการเพื่อส่งคำขอเส้นทาง จากนั้นใช้ผลลัพธ์เพื่อวาด
เส้นหลายส่วนและเครื่องหมายบนแผนที่
ในบริการเส้นทางเดิม ระบบจะใช้ออบเจ็กต์
DirectionsRenderer
เพื่อแสดง Polyline และเครื่องหมายเพื่อแสดงผลลัพธ์เส้นทางบนแผนที่ ใน
คลังเส้นทาง เราได้แทนที่ออบเจ็กต์ DirectionsRenderer
ด้วย
เมธอด createPolylines()
และ createWaypointAdvancedMarkers()
หน้านี้อธิบายความแตกต่างระหว่างบริการเส้นทางแบบเดิมกับ
Route
คลาสใหม่ และแสดงโค้ดบางส่วนเพื่อเปรียบเทียบ
ขอเส้นทางการขับขี่
บริการเส้นทาง (เดิม)
โค้ดต่อไปนี้จะรับเส้นทางการขับรถโดยใช้บริการเส้นทางเดิม จากนั้นใช้ DirectionsRenderer
เพื่อวาด Polyline และเครื่องหมายบนแผนที่
// Define a simple request. var request = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING' }; // Call the Directions Service to get the directions. directionsService.route(request, function(result, status) { if (status == 'OK') { directionsRenderer.setDirections(result); // Add polyline and markers to the map. } });
คลาสเส้นทาง (เบต้า)
โค้ดต่อไปนี้จะรับเส้นทางการขับรถโดยใช้คลาส Route ใหม่ จากนั้น
จะใช้วิธี createPolylines
เพื่อวาด Polyline บนแผนที่ และใช้วิธี createWaypointAdvancedMarkers
เพื่อวาดเครื่องหมายบนแผนที่
Route
คลาสใหม่จะไม่แสดงเครื่องหมายโดยอัตโนมัติ คุณต้องเรียกใช้
createWaypointAdvancedMarkers
เพื่อแสดงเครื่องหมาย
// Define a simple request. const request = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING', fields: ['path', 'legs'], // Request fields needed to draw polylines. }; // Call computeRoutes to get the directions. const {routes} = await Route.computeRoutes(request); // Use createPolylines to create a polyline for the route. mapPolylines = routes[0].createPolylines(); // Add polylines to the map mapPolylines.forEach((polyline) => polyline.setMap(map)); // Create markers to start and end points. const markers = await routes[0].createWaypointAdvancedMarkers(); // Add markers to the map markers.forEach((marker) => marker.setMap(map));