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

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

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

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

कोई कस्टम रास्ता पुनर्प्राप्त करना

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

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

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

Navigator.setDestinations इन पैरामीटर का इस्तेमाल करता है:

पैरामीटरब्यौरा
डेस्टिनेशन सेट की जाने वाली नई डेस्टिनेशन सूची.
customRoutesOptions वे विकल्प जिनका इस्तेमाल, पहले से तय किए गए रूट को वापस लाने के लिए किया जाएगा. ऐसा Routes 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);