Routes Library mới, Maps JavaScript API bao gồm lớp Route
, thay thế Dịch vụ chỉ đường cũ. Trang này giải thích sự khác biệt giữa dịch vụ chỉ đường cũ và lớp Route
mới, đồng thời cung cấp một số mã để so sánh.
Dịch vụ chỉ đường (Cũ) so với lớp Đường (Beta)
Tham số yêu cầu
Bảng sau đây so sánh các tham số yêu cầu cho dịch vụ Chỉ đường cũ và lớp Route
.
So sánh các phương pháp
Bảng sau đây so sánh các phương thức chính cho dịch vụ Chỉ đường cũ và lớp Route
.
So sánh mã
Phần này so sánh 2 đoạn mã tương tự để minh hoạ sự khác biệt giữa dịch vụ Chỉ đường cũ và lớp Route
mới. Các đoạn mã cho thấy mã cần thiết trên mỗi API tương ứng để đưa ra yêu cầu chỉ đường, sau đó sử dụng kết quả để vẽ một đường nhiều đoạn và các điểm đánh dấu trên bản đồ.
Trong dịch vụ Directions cũ, đối tượng DirectionsRenderer
được dùng để hiển thị nhiều đường và điểm đánh dấu nhằm thể hiện kết quả chỉ đường trên bản đồ. Trong thư viện Tuyến đường, đối tượng DirectionsRenderer
đã được thay thế bằng các phương thức createPolylines()
và createWaypointAdvancedMarkers()
. Trang này giải thích sự khác biệt giữa Directions Service cũ và lớp Route
mới, đồng thời cung cấp một số mã để so sánh.
Xem đường lái xe
Dịch vụ chỉ đường (Cũ)
Đoạn mã sau đây lấy chỉ đường lái xe bằng dịch vụ Directions cũ, sau đó dùng DirectionsRenderer
để vẽ một đường đa tuyến và các điểm đánh dấu trên bản đồ:
// 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. } });
Lớp tuyến đường (Beta)
Đoạn mã sau đây lấy chỉ đường lái xe bằng lớp Route mới, sau đó dùng phương thức createPolylines
để vẽ một đường đa tuyến trên bản đồ và phương thức createWaypointAdvancedMarkers
để vẽ các điểm đánh dấu trên bản đồ.
Lớp Route
mới không tự động hiển thị các điểm đánh dấu. Bạn phải gọi createWaypointAdvancedMarkers
để hiển thị các điểm đánh dấu.
// 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));