Bermigrasi ke class Rute

Routes Library, Maps JavaScript API yang baru mencakup class Route, yang menggantikan Directions Service lama. Halaman ini menjelaskan perbedaan antara layanan petunjuk arah lama dan class Route baru, serta memberikan beberapa kode untuk perbandingan.

Layanan directions (Lama) versus class Route (Beta)

Parameter permintaan

Tabel berikut membandingkan parameter permintaan untuk layanan Directions lama dan class Route.

Layanan Directions (Lama) Route (Beta)
Metode DirectionsService.route() Metode Route.computeRoutes()

Parameter Wajib

origin origin
destination destination
travelMode travelMode (opsional)

Parameter Opsional

optimizeWaypoints optimizeWaypointOrder
provideRouteAlternatives computeAlternativeRoutes
avoidFerries, avoidHighways, avoidTolls routeModifiers
drivingOptions departureTime, trafficModel
region region
transitOptions transitPreference
arrivalTime arrivalTime
unitSystem units
waypoints intermediates

Perbandingan metode

Tabel berikut membandingkan metode utama untuk layanan Directions lama dan class Route.

Layanan Directions (Lama) Route (Beta)
Metode route() Metode computeRoutes()
Metode DirectionsRenderer.setDirections() Metode createPolylines(), Metode createWaypointAdvancedMarkers()

Perbandingan kode

Bagian ini membandingkan dua bagian kode serupa untuk menggambarkan perbedaan antara layanan Directions lama dan class Route baru. Cuplikan kode menunjukkan kode yang diperlukan di setiap API masing-masing untuk membuat permintaan rute, lalu menggunakan hasilnya untuk menggambar polyline dan penanda di peta.

Di layanan Directions lama, objek DirectionsRenderer digunakan untuk menampilkan polyline dan penanda guna merepresentasikan hasil rute di peta. Di library Routes, objek DirectionsRenderer telah digantikan oleh metode createPolylines() dan createWaypointAdvancedMarkers(). Halaman ini menjelaskan perbedaan antara Directions Service lama dan class Route baru, serta memberikan beberapa kode untuk perbandingan.

Lihat rute mobil

Layanan rute (Lama)

Kode berikut mendapatkan petunjuk arah mengemudi menggunakan layanan Directions lama, lalu menggunakan DirectionsRenderer untuk menggambar polyline dan penanda di peta:

// 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.
  }
});

Class rute (Beta)

Kode berikut mendapatkan petunjuk arah mengemudi menggunakan class Rute baru, lalu menggunakan metode createPolylines untuk menggambar polyline di peta, dan metode createWaypointAdvancedMarkers untuk menggambar penanda di peta.

Class Route baru tidak otomatis merender penanda. Anda harus memanggil createWaypointAdvancedMarkers untuk merender penanda.

// 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));