به کلاس Route مهاجرت کنید

توسعه دهندگان منطقه اقتصادی اروپا (EEA).

کتابخانه مسیرهای جدید، Maps JavaScript API شامل کلاس Route است که جایگزین سرویس Directions قدیمی می شود. این صفحه تفاوت‌های بین سرویس مسیرهای قدیمی و کلاس جدید Route را توضیح می‌دهد و کدی را برای مقایسه ارائه می‌کند.

سرویس مسیرها (قدیمی) در مقابل کلاس مسیر (بتا)

درخواست پارامترها

جدول زیر پارامترهای درخواست را برای سرویس Directions قدیمی و کلاس Route مقایسه می کند.

خدمات مسیرها (قدیمی) Route (بتا)
متد DirectionsService.route() . روش Route.computeRoutes() .

پارامترهای مورد نیاز

origin origin
destination destination
travelMode travelMode (اختیاری)

پارامترهای اختیاری

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

مقایسه روش ها

جدول زیر متدهای کلیدی را برای سرویس 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 فراخوانی کنید.

TypeScript

// 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, fallbackInfo, geocodingResults} = await Route.computeRoutes(request);

// Use createPolylines to create polylines 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));

جاوا اسکریپت

// 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, fallbackInfo, geocodingResults } = await Route.computeRoutes(request);
// Use createPolylines to create polylines 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));