Routes Library baru, Maps JavaScript API menyertakan class Route, yang menggantikan
Directions Service lama. Halaman ini menjelaskan perbedaan antara layanan directions lama dan class Routebaru, serta menyediakan beberapa kode untuk perbandingan.
Layanan directions (Lama) versus class Route
Parameter permintaan
Tabel berikut membandingkan parameter permintaan untuk layanan Directions lama dan
Route class.
Perbandingan metode
Tabel berikut membandingkan metode utama untuk layanan Directions lama dan class
Route.
| Layanan Directions (Lama) | Route |
|---|---|
Metode route() |
Metode computeRoutes() |
DirectionsRenderer.setDirections() metode |
createPolylines() metode,
createWaypointAdvancedMarkers() metode
|
Perbandingan kode
Bagian ini membandingkan dua bagian kode yang serupa untuk mengilustrasikan perbedaan antara layanan Directions lama
dan class baru Route. Cuplikan kode menunjukkan kode
yang diperlukan di setiap API masing-masing untuk membuat permintaan directions, lalu menggunakan hasilnya untuk menggambar
polyline dan penanda di peta.
Di layanan Directions lama, objek
DirectionsRenderer
digunakan untuk menampilkan polyline dan penanda guna mewakili hasil directions di peta. Di
Routes Library, objek DirectionsRenderer telah di
ganti dengan metode createPolylines() dan createWaypointAdvancedMarkers(). Halaman ini menjelaskan perbedaan antara Directions Service lama dan class
Route baru, serta menyediakan beberapa kode untuk perbandingan.
Lihat rute mobil
Layanan Directions (Lama)
Kode berikut mendapatkan rute mobil 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
Kode berikut mendapatkan rute mobil menggunakan class Route baru, lalu
menggunakan metode createPolylines untuk menggambar polyline di peta, dan
createWaypointAdvancedMarkers untuk menggambar penanda di peta.
Class Route baru tidak otomatis merender penanda. Anda harus memanggil
createWaypointAdvancedMarkers untuk merender penanda.
TypeScript
// Define a routes request. const request: google.maps.routes.ComputeRoutesRequest = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING', fields: ['path'], // Request fields needed to draw polylines. }; // Call computeRoutes to get the directions. const { routes } = await Route.computeRoutes(request); // Use createPolylines to create polylines for the route. if (!routes) { console.warn('No routes found.'); return; } 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.map = map; });
JavaScript
// Define a routes request. const request = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING', fields: ['path'], // Request fields needed to draw polylines. }; // Call computeRoutes to get the directions. const { routes } = await Route.computeRoutes(request); // Use createPolylines to create polylines for the route. if (!routes) { console.warn('No routes found.'); return; } 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.map = map; });