diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index caef74d..e995a6e 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -1185,28 +1185,38 @@ class MapPassengerController extends GetxController { } } + void clearMarkersExceptStartEnd() { + Set markersToRemove = markers + .where((marker) => + marker.markerId != MarkerId("start") && + marker.markerId != MarkerId("end")) + .toSet(); + + for (Marker marker in markersToRemove) { + markers.remove(marker); + update(); + } + } + void reloadMarkerDriverCarsLocationToPassengerAfterApplied() { // Clear existing markers - markers.clear(); - update(); + // markers.clear(); + // update(); + clearMarkersExceptStartEnd(); // for (var i = 0; i < driverCarsLocationToPassengerAfterApplied.length; i++) { -// } -// for (var item in driverCarsLocationToPassengerAfterApplied) { - - // final driverAcceptedMarker = Marker( - // onTap: () => print('marker pressed'), - // infoWindow: InfoWindow( - // title: - // '${driverCarsLocationToPassengerAfterApplied[i].latitude} minutes'), - // markerId: MarkerId( - // datadriverCarsLocationToPassengerAfterApplied['message'][0]['id'] - // .toString()), - // position: LatLng(driverCarsLocationToPassengerAfterApplied[i].latitude, - // driverCarsLocationToPassengerAfterApplied[i].longitude), - // rotation: datadriverCarsLocationToPassengerAfterApplied['message'][0] - // ['heading'], - // ); - // markers.add(driverAcceptedMarker); + final driverAcceptedMarker = Marker( + markerId: const MarkerId('driverToPassengers'), + position: LatLng( + double.parse( + datadriverCarsLocationToPassengerAfterApplied[0]['latitude']), + double.parse( + datadriverCarsLocationToPassengerAfterApplied[0]['longitude'])), + rotation: double.parse( + datadriverCarsLocationToPassengerAfterApplied['message'][0] + ['heading']), + icon: carIcon, + ); + markers.add(driverAcceptedMarker); // update(); mapController?.animateCamera(CameraUpdate.newLatLng(LatLng( driverCarsLocationToPassengerAfterApplied[0].latitude, @@ -1916,14 +1926,14 @@ class MapPassengerController extends GetxController { data[0]["start_location"]['lat'], data[0]["start_location"]['lng']); markers.add( Marker( - markerId: MarkerId(startNameAddress), + markerId: MarkerId('start'), position: newStartPointLocation, icon: startIcon, ), ); markers.add( Marker( - markerId: MarkerId(endNameAddress), + markerId: MarkerId('end'), position: LatLng( data[0]["end_location"]['lat'], data[0]["end_location"]['lng']), icon: endIcon, diff --git a/lib/views/home/Captin/orderCaptin/order_speed_request.dart b/lib/views/home/Captin/orderCaptin/order_speed_request.dart index c895900..d7463a1 100644 --- a/lib/views/home/Captin/orderCaptin/order_speed_request.dart +++ b/lib/views/home/Captin/orderCaptin/order_speed_request.dart @@ -356,15 +356,8 @@ class OrderSpeedRequest extends StatelessWidget { onPressed: () async { box.write(BoxName.statusDriverLocation, 'on'); - orderRequestController.changeApplied(); - await CRUD().postFromDialogue( - link: AppLink.addDriverOrder, - payload: { - 'driver_id': myList[6].toString(), - // box.read(BoxName.driverID).toString(), - 'order_id': body.toString(), - 'status': 'Apply' - }); + // orderRequestController.changeApplied(); + var res = await CRUD() .post(link: AppLink.updateStausFromSpeed, payload: { 'id': myList[16], @@ -392,6 +385,14 @@ class OrderSpeedRequest extends StatelessWidget { box.read(BoxName.nameDriver).toString(), box.read(BoxName.tokenDriver).toString(), ]; + await CRUD().postFromDialogue( + link: AppLink.addDriverOrder, + payload: { + 'driver_id': myList[6].toString(), + // box.read(BoxName.driverID).toString(), + 'order_id': body.toString(), + 'status': 'Apply' + }); // print(bodyToPassenger); FirebaseMessagesController() .sendNotificationToPassengerToken(