Route क्लास पर माइग्रेट करना

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

Maps JavaScript API की नई Routes Library में, Route क्लास शामिल है. यह लेगसी Directions Service की जगह लेती है. इस पेज पर, लेगसी Directions Service और नई Route क्लास के बीच के अंतर के बारे में बताया गया है. साथ ही, तुलना के लिए कुछ कोड भी दिए गए हैं.

Directions Service (लेगसी) बनाम Route क्लास

अनुरोध के पैरामीटर

यहां दी गई टेबल में, लेगसी Directions Service और Route क्लास के लिए अनुरोध के पैरामीटर की तुलना की गई है.

Directions Service (लेगसी) 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 Service और Route क्लास के मुख्य तरीकों की तुलना की गई है.

Directions Service (लेगसी) Route
route() तरीका computeRoutes() तरीका
DirectionsRenderer.setDirections() तरीका createPolylines() तरीका, createWaypointAdvancedMarkers() तरीका

कोड की तुलना

इस सेक्शन में, लेगसी Directions Service और नई Route क्लास के बीच के अंतर को दिखाने के लिए, एक जैसे दो कोड की तुलना की गई है. कोड के स्निपेट में, दिशा-निर्देशों के लिए अनुरोध करने के लिए, हर एपीआई पर ज़रूरी कोड दिखाया गया है. इसके बाद, नतीजे का इस्तेमाल करके, मैप पर पॉलीलाइन और मार्कर बनाए गए हैं.

लेगसी Directions Service में, मैप पर दिशा-निर्देशों के नतीजों को दिखाने के लिए, DirectionsRenderer ऑब्जेक्ट का इस्तेमाल किया जाता है. Routes Library में, DirectionsRenderer ऑब्जेक्ट की जगह createPolylines() और createWaypointAdvancedMarkers() तरीकों का इस्तेमाल किया जाता है. इस पेज पर, लेगसी Directions Service और नई Route क्लास के बीच के अंतर के बारे में बताया गया है. साथ ही, तुलना के लिए कुछ कोड भी दिए गए हैं.

ड्राइविंग के लिए रास्ते के निर्देश पाएं

Directions Service (लेगसी)

यहां दिए गए कोड से, लेगसी Directions Service का इस्तेमाल करके, ड्राइविंग के लिए रास्ते के निर्देश मिलते हैं. इसके बाद, 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 क्लास

यहां दिए गए कोड से, नई Route क्लास का इस्तेमाल करके, ड्राइविंग के लिए रास्ते के निर्देश मिलते हैं. इसके बाद, createPolylines तरीके का इस्तेमाल करके, मैप पर पॉलीलाइन बनाई जाती है. साथ ही, createWaypointAdvancedMarkers तरीके का इस्तेमाल करके, मैप पर मार्कर बनाए जाते हैं.

नई Route क्लास, मार्कर को अपने-आप रेंडर नहीं करती. मार्कर रेंडर करने के लिए, आपको createWaypointAdvancedMarkers को कॉल करना होगा.

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