این بخش نحوه تنظیم مقصد وسیله نقلیه پس از تطبیق سفر با وسیله نقلیه توسط سرور شما را شرح میدهد.
قبل از اینکه شروع کنی
این بخش مستلزم آن است که موارد زیر را تکمیل کرده باشید:
مقصد را در اپلیکیشن راننده تنظیم کنید
پس از اینکه مشتری را با راننده جفت کردید، باید با انجام مراحل زیر، مقصد سفر را در برنامه راننده پیکربندی کنید:
مقصد وسیله نقلیه را از مجموعه نقاط مسیر آن در Fleet Engine بازیابی کنید، که توسط
GetTrip()،UpdateTrip()وGetVehicle()برگردانده میشود.با فراخوانی متد
setDestination()از کیت توسعه نرمافزار اندروید (SDK) مربوط به ناوبری، مقصد را تعیین کنید.
مثالهای زیر نحوه تنظیم مقصد در برنامه راننده را نشان میدهند.
جاوا
private void navigateToLocation(LatLng locationLatLng, RoutingOptions routingOptions) {
  Waypoint destination = Waypoint.newBuilder().setLocation(locationLatLng).build();
  // Create a future to await the result of the asynchronous navigator task.
  ListenableResultFuture<Navigator.RouteStatus> pendingRoute =
      mNavigator.setDestination(destination, travelMode);
  // Define the action to perform when the SDK has determined the route.
  pendingRoute.setOnResultListener(
      new ListenableResultFuture.OnResultListener<Navigator.RouteStatus>() {
        @Override
        public void onResult(Navigator.RouteStatus code) {
          switch (code) {
            case OK:
              // Hide the toolbar to maximize the navigation UI.
              if (getActionBar() != null) {
                getActionBar().hide();
              }
              // Enable voice audio guidance (through the device speaker).
              mNavigator.setAudioGuidance(
                  Navigator.AudioGuidance.VOICE_ALERTS_AND_GUIDANCE);
              // Simulate vehicle progress along the route for demo/debug builds.
              if (BuildConfig.DEBUG) {
                mNavigator.getSimulator().simulateLocationsAlongExistingRoute(
                    new SimulationOptions().speedMultiplier(5));
              }
              // Start turn-by-turn guidance along the current route.
              mNavigator.startGuidance();
              break;
            // Handle error conditions returned by the navigator.
            case NO_ROUTE_FOUND:
              displayMessage("Error starting navigation: No route found.");
              break;
            case NETWORK_ERROR:
              displayMessage("Error starting navigation: Network error.");
              break;
            case ROUTE_CANCELED:
              displayMessage("Error starting navigation: Route canceled.");
              break;
            default:
              displayMessage("Error starting navigation: "
                  + String.valueOf(code));
          }
        }
      });
}
کاتلین
private fun navigateToLocation(locationLatLng: LatLng, travelMode: RoutingOptions) {
  val destination = Waypoint.newBuilder().setLocation(locationLatLng).build()
  // Create a future to await the result of the asynchronous navigator task.
  val pendingRoute = mNavigator.setDestination(destination, travelMode)
  // Define the action to perform when the SDK has determined the route.
  pendingRoute.setOnResultListener(
    object : ListenableResultFuture.OnResultListener<Navigator.RouteStatus>() {
      override fun onResult(code: Navigator.RouteStatus) {
        when (code) {
          Navigator.RouteStatus.OK -> {
            // Hide the toolbar to maximize the navigation UI.
            getActionBar()?.hide()
            // Enable voice audio guidance (through the device speaker).
            mNavigator.setAudioGuidance(Navigator.AudioGuidance.VOICE_ALERTS_AND_GUIDANCE)
            // Simulate vehicle progress along the route for demo/debug builds.
            if (BuildConfig.DEBUG) {
              mNavigator
                .getSimulator()
                .simulateLocationsAlongExistingRoute(SimulationOptions().speedMultiplier(5))
            }
            // Start turn-by-turn guidance along the current route.
            mNavigator.startGuidance()
          }
          Navigator.RouteStatus.NO_ROUTE_FOUND -> {
            displayMessage("Error starting navigation: No route found.")
          }
          Navigator.RouteStatus.NETWORK_ERROR -> {
            displayMessage("Error starting navigation: Network error.")
          }
          Navigator.RouteStatus.ROUTE_CANCELED -> {
            displayMessage("Error starting navigation: Route canceled.")
          }
          else -> {
            displayMessage("Error starting navigation: ${code.name}")
          }
        }
      }
    }
  )
}