रास्ते के टोकन

राइडशेयरिंग ट्रिप के लिए सबसे अच्छा रास्ता तय करते समय, ज़रूरी नहीं है कि सबसे तेज़ रास्ता हमेशा सबसे अच्छा विकल्प हो. हो सकता है कि आपको अपना रूट कस्टमाइज़ करना पड़े. Routes Preferred API की मदद से, ComputeCustomRoutes तरीके का इस्तेमाल करके रूट का मकसद तय करके, रूट को अपनी पसंद के मुताबिक बनाया जा सकता है.

अपनी पसंद के मुताबिक रूट बनाने पर, Routes Preferred API रूट टोकन जनरेट करता है. इसके बाद, टोकन को Android के लिए नेविगेशन SDK में पास किया जा सकता है और कस्टम रूट वापस पाया जा सकता है.

कस्टम रूट बनाने के बारे में ज़्यादा जानकारी के लिए, कस्टम रूट बनाना पेज देखें.

कोई कस्टम रूट फिर से प्राप्त किया जा रहा है

Navigator.setDestinations तरीके का इस्तेमाल करके, Android के लिए नेविगेशन SDK टूल में रूट टोकन पास करके, कस्टम रूट वापस पाया जा सकता है.

setDestinations(List<Waypoint> destinations, CustomRoutesOptions customRoutesOptions, DisplayOptions displayOptions);

कस्टम रूट, पहले से सेट किए गए डेस्टिनेशन को बदल देता है. इसमें, ड्राइवर की चुनी गई जगह के साथ-साथ, सड़क और ट्रैफ़िक की स्थिति से जुड़ी जानकारी का इस्तेमाल किया जाता है.

Navigator.setDestinations में ये पैरामीटर इस्तेमाल होते हैं:

पैरामीटरजानकारी
डेस्टिनेशन सेट की जाने वाली नई डेस्टिनेशन सूची.
customRoutesOptions इन विकल्पों का इस्तेमाल, पहले से तय किए गए रूट को वापस लाने के लिए किया जाएगा. यह रूट Preferred API से मिले टोकन के आधार पर तय होता है.
displayOptions वे विकल्प जिनका इस्तेमाल रास्ता दिखाने के लिए किया जाएगा.

Navigator.setDestinations तरीका, अनुरोध की स्थिति दिखाता है. अगर उपयोगकर्ता की जगह से दिए गए डेस्टिनेशन पर कोई रास्ता मिलता है, तो वह RouteStatus.OK दिखाता है.

उदाहरण

उदाहरण के तौर पर दिया गया यह कोड, कस्टम रूट को वापस पाने का तरीका बताता है.

ArrayList <Waypoint> destinations = Lists.newArrayList();
Waypoint waypoint1 =
   Waypoint.builder()
      .setLatLng(10, 20)
      .setTitle("title")
      .setVehicleStopover(true)
      .build();
destinations.add(waypoint1);
Waypoint waypoint2 =
   Waypoint.builder()
      .setPlaceId("ChIJYV-J-ziuEmsRIMyoFaMedU4")
      .setTitle("title")
      .setVehicleStopover(true)
       .build()
destinations.add(waypoint2);

String routeToken = "route token returned by RoutesPreferred API";

CustomRoutesOptions customRoutesOptions =
   CustomRoutesOptions.builder()
      .setRouteToken(routeToken)
      .setTravelMode(CustomRoutesOptions.TravelMode.TWO_WHEELER)
      .build();

// Existing flow to get a Navigator.
NavigationApi.getNavigator(...);
// Existing flow for requesting routes.
ListenableResultFuture<RouteStatus> routeStatusFuture =
          navigator.setDestinations(destinations, customRoutesOptions);

// Or with display options.
DisplayOptions displayOptions = new DisplayOptions();

ListenableResultFuture<RouteStatus> routeStatusFuture =
          navigator.setDestinations(destinations, customRoutesOptions, displayOptions);