کتابخانه مسیرهای جدید، Maps JavaScript API شامل کلاس Route
است که جایگزین سرویس Directions قدیمی می شود. این صفحه تفاوتهای بین سرویس مسیرهای قدیمی و کلاس جدید Route
را توضیح میدهد و کدی را برای مقایسه ارائه میکند.
سرویس مسیرها (قدیمی) در مقابل کلاس مسیر (بتا)
درخواست پارامترها
جدول زیر پارامترهای درخواست را برای سرویس Directions قدیمی و کلاس Route
مقایسه می کند.
مقایسه روش ها
جدول زیر متدهای کلیدی را برای سرویس Directions قدیمی و کلاس Route
مقایسه می کند.
خدمات مسیرها (قدیمی) | Route (بتا) |
---|---|
روش route() . | computeRoutes() |
متد DirectionsRenderer.setDirections() . | متد createPolylines() ، متد createWaypointAdvancedMarkers() . |
مقایسه کدها
این بخش دو قطعه کد مشابه را با هم مقایسه میکند تا تفاوتهای بین سرویس Directions قدیمی و کلاس Route
جدید را نشان دهد. قطعه کد کد مورد نیاز در هر API مربوطه را برای ایجاد یک درخواست جهت نشان می دهد و سپس از نتیجه برای ترسیم چند خط و نشانگرها روی نقشه استفاده می کند.
در سرویس Directions قدیمی، شی DirectionsRenderer
برای نمایش چند خطوط و نشانگرها برای نمایش نتایج جهت ها بر روی نقشه استفاده می شود. در کتابخانه Routes، شی DirectionsRenderer
با متدهای createPolylines()
و createWaypointAdvancedMarkers()
جایگزین شده است. این صفحه تفاوتهای بین سرویس Directions قدیمی و کلاس Route
جدید را توضیح میدهد و کدی برای مقایسه ارائه میکند.
مسیرهای رانندگی را دریافت کنید
خدمات مسیرها (قدیمی)
کد زیر با استفاده از سرویس قدیمی Directions مسیرهای رانندگی را دریافت می کند و سپس از DirectionsRenderer
برای ترسیم چند خط و نشانگرها روی نقشه استفاده می کند:
// 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
برای ترسیم چند خط روی نقشه و از متد 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));