From ae41f1bb24c4273a6e852fafe9f7ddae908438c0 Mon Sep 17 00:00:00 2001 From: Hamza Aleghwairyeen Date: Wed, 3 Apr 2024 00:05:31 +0300 Subject: [PATCH] 4/2/8 --- .../functions/location_controller.dart | 47 +++++++++++++------ .../home/captin/home_captain_controller.dart | 8 ++-- .../home/captin/map_driver_controller.dart | 10 +++- lib/views/home/Captin/driver_map_page.dart | 2 +- .../widget/left_menu_map_captain.dart | 2 +- .../mapDriverWidgets/driver_end_ride_bar.dart | 3 +- .../google_driver_map_page.dart | 2 +- 7 files changed, 48 insertions(+), 26 deletions(-) diff --git a/lib/controller/functions/location_controller.dart b/lib/controller/functions/location_controller.dart index 60624f7..a6c4d12 100644 --- a/lib/controller/functions/location_controller.dart +++ b/lib/controller/functions/location_controller.dart @@ -56,6 +56,23 @@ class LocationController extends GetxController { print('total point is $totalPoints'); await getLocation(); + // Animate camera to user location (optional) + if (Get.find().rideId == 'rideId') { + Get.find() + .mapController! + .animateCamera(CameraUpdate.newLatLng(LatLng( + Get.find().myLocation.latitude, + Get.find().myLocation.longitude, + ))); + } else { + Get.find() + .mapHomeCaptainController + .animateCamera(CameraUpdate.newLatLng(LatLng( + Get.find().myLocation.latitude, + Get.find().myLocation.longitude, + ))); + } + // if (box.read(BoxName.driverID) != null) { await CRUD() .post(link: AppLink.addCarsLocationByPassenger, payload: { @@ -71,21 +88,21 @@ class LocationController extends GetxController { : totalDistance.toStringAsFixed(1), 'status': box.read(BoxName.statusDriverLocation).toString() }); - if (Get.find().rideId == '0') { - await sql.insertData({ - 'driver_id': box.read(BoxName.driverID), - 'latitude': myLocation.latitude.toString(), - 'longitude': myLocation.longitude.toString(), - 'created_at': DateTime.now().toString(), - }, TableName.carLocations); - } else { - await sql.insertData({ - 'order_id': Get.find().rideId, - 'created_at': DateTime.now().toString(), - 'lat': myLocation.latitude.toString(), - 'lng': myLocation.longitude.toString(), - }, TableName.rideLocation); - } + // if (Get.find().rideId == '0') { + // await sql.insertData({ + // 'driver_id': box.read(BoxName.driverID), + // 'latitude': myLocation.latitude.toString(), + // 'longitude': myLocation.longitude.toString(), + // 'created_at': DateTime.now().toString(), + // }, TableName.carLocations); + // } else { + // await sql.insertData({ + // 'order_id': Get.find().rideId, + // 'created_at': DateTime.now().toString(), + // 'lat': myLocation.latitude.toString(), + // 'lng': myLocation.longitude.toString(), + // }, TableName.rideLocation); + // } // } // diff --git a/lib/controller/home/captin/home_captain_controller.dart b/lib/controller/home/captin/home_captain_controller.dart index 4653b0e..e1f38e4 100644 --- a/lib/controller/home/captin/home_captain_controller.dart +++ b/lib/controller/home/captin/home_captain_controller.dart @@ -155,14 +155,14 @@ class HomeCaptainController extends GetxController { update(); } - late GoogleMapController mapHomeCaptaiController; + late GoogleMapController mapHomeCaptainController; void onMapCreated(GoogleMapController controller) { - mapHomeCaptaiController = controller; + mapHomeCaptainController = controller; controller.getVisibleRegion(); + // Animate camera to user location (optional) controller.animateCamera( CameraUpdate.newLatLng(Get.find().myLocation), ); - update(); } void savePeriod(Duration period) { @@ -212,7 +212,7 @@ class HomeCaptainController extends GetxController { getCountRideToday(); getAllPayment(); startPeriodicExecution(); - onMapCreated(mapHomeCaptaiController); + onMapCreated(mapHomeCaptainController); totalPoints = Get.find().totalPoints; getRefusedOrderByCaptain(); // LocationController().getLocation(); diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index 9e36b97..f30bcd1 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -91,6 +91,7 @@ class MapDriverController extends GetxController { late LatLng myLocation; int remainingTimeTimerRideBegin = 60; String stringRemainingTimeRideBegin = ''; + String stringRemainingTimeRideBegin1 = ''; double progressTimerRideBegin = 0; late Timer timer; String? mapAPIKEY; @@ -104,7 +105,9 @@ class MapDriverController extends GetxController { myLocation = myLocation; mapController = controller; controller.getVisibleRegion(); - + controller.animateCamera( + CameraUpdate.newLatLng(Get.find().myLocation), + ); // Set up a timer or interval to trigger the marker update every 3 seconds. timer = Timer.periodic(const Duration(seconds: 1), (_) { updateMarker(); @@ -603,7 +606,10 @@ class MapDriverController extends GetxController { int seconds = remainingTimeTimerRideBegin % 60; stringRemainingTimeRideBegin = '$minutes:${seconds.toString().padLeft(2, '0')}'; - + int minutes1 = (rideTimerFromBegin / 60).floor(); + int seconds1 = rideTimerFromBegin % 60; + stringRemainingTimeRideBegin1 = + '$minutes1:${seconds1.toString().padLeft(2, '0')}'; update(); } } diff --git a/lib/views/home/Captin/driver_map_page.dart b/lib/views/home/Captin/driver_map_page.dart index b405c32..c20cd0c 100644 --- a/lib/views/home/Captin/driver_map_page.dart +++ b/lib/views/home/Captin/driver_map_page.dart @@ -21,7 +21,7 @@ class PassengerLocationMapPage extends StatelessWidget { Get.put(MapDriverController()); return MyScafolld( - title: 'Map Passenger'.tr, + title: Get.find().carType, body: [ GoogleDriverMap(locationController: locationController), const PassengerInfoWindow(), diff --git a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart index 0e42924..086780c 100644 --- a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart +++ b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart @@ -89,7 +89,7 @@ GetBuilder leftMainMenuCaptainIcons() { borderRadius: BorderRadius.circular(15)), child: IconButton( onPressed: () { - controller.mapHomeCaptaiController + controller.mapHomeCaptainController .animateCamera(CameraUpdate.newLatLng(LatLng( Get.find().myLocation.latitude, Get.find().myLocation.longitude, diff --git a/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart b/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart index 4d114fb..795113b 100644 --- a/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart +++ b/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart @@ -62,8 +62,7 @@ GetBuilder driverEndRideBar() { mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ const Icon(Icons.timer), - Text(mapDriverController.rideTimerFromBegin - .toStringAsFixed(0)), + Text(mapDriverController.stringRemainingTimeRideBegin1), const Icon(Icons.location_on), Text( '${mapDriverController.recentDistanceToDash.toStringAsFixed(0)} ${'KM'.tr}'), diff --git a/lib/views/home/Captin/mapDriverWidgets/google_driver_map_page.dart b/lib/views/home/Captin/mapDriverWidgets/google_driver_map_page.dart index eb46346..29e4050 100644 --- a/lib/views/home/Captin/mapDriverWidgets/google_driver_map_page.dart +++ b/lib/views/home/Captin/mapDriverWidgets/google_driver_map_page.dart @@ -30,7 +30,7 @@ class GoogleDriverMap extends StatelessWidget { ), onCameraMoveStarted: () {}, onCameraMove: (position) { - // locationController.myLocation = position.target; + locationController.myLocation = position.target; print(position); }, minMaxZoomPreference: const MinMaxZoomPreference(6, 18),