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

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

रास्ता दिखाने वाली सेवा (लेगसी) बनाम रूट क्लास (बीटा)

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

यहां दी गई टेबल में, Directions API के लेगसी वर्शन और 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 API के लेगसी वर्शन और Route क्लास के मुख्य तरीकों की तुलना की गई है.

रास्ता दिखाने वाली सेवा (लेगसी) Route (बीटा वर्शन)
route() तरीका computeRoutes() तरीका
DirectionsRenderer.setDirections() तरीका createPolylines() तरीका, createWaypointAdvancedMarkers() तरीका

कोड की तुलना करना

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

Directions API की लेगसी सेवा में, DirectionsRenderer ऑब्जेक्ट का इस्तेमाल, मैप पर रास्ते के नतीजे दिखाने के लिए पॉलीलाइन और मार्कर दिखाने के लिए किया जाता है. रास्ते की जानकारी देने वाली लाइब्रेरी में, DirectionsRenderer ऑब्जेक्ट को createPolylines() और createWaypointAdvancedMarkers() तरीकों से बदल दिया गया है. इस पेज पर, Directions Service के लेगसी वर्शन और नए 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));