25-11-18/1

This commit is contained in:
Hamza-Ayed
2025-11-18 10:38:11 +03:00
parent a69e4c6912
commit b1b8efdd7d
19 changed files with 294 additions and 199 deletions

View File

@@ -3,7 +3,11 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
// import 'package:google_maps_flutter/google_maps_flutter.dart';
// import 'package:flutter_map/flutter_map.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
// import 'package:latlong2/latlong.dart'
// as latlng; // هذا مهم جداً للتعامل مع إحداثيات OSM
import 'package:sefer_driver/constant/box_name.dart';
import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart';
import 'dart:async';
@@ -54,7 +58,9 @@ class HomeCaptainController extends GetxController {
bool mapTrafficON = false;
double widthMapTypeAndTraffic = 50;
// Inject the LocationController class
final locationController = Get.put(LocationController());
// final locationController = Get.put(LocationController());
// الكود الصحيح
final locationController = Get.find<LocationController>();
// final locationBackController = Get.put(LocationBackgroundController());
String formatDuration(Duration duration) {
String twoDigits(int n) => n.toString().padLeft(2, "0");
@@ -181,31 +187,24 @@ class HomeCaptainController extends GetxController {
}
// late GoogleMapController mapHomeCaptainController;
// void onMapCreated(GoogleMapController controller) {
// mapHomeCaptainController = controller;
// controller.getVisibleRegion();
// // Animate camera to user location (optional)
// controller.animateCamera(
// CameraUpdate.newLatLng(Get.find<LocationController>().myLocation),
// );
// }
GoogleMapController? mapHomeCaptainController; // Nullable controller
GoogleMapController? mapHomeCaptainController;
void onMapCreated(GoogleMapController controller) {
mapHomeCaptainController = controller;
// Optional: Check if the controller is still null (just for safety)
if (mapHomeCaptainController != null) {
// Get the visible region
controller.getVisibleRegion();
// Animate camera to user location (optional)
controller.animateCamera(
CameraUpdate.newLatLng(Get.find<LocationController>().myLocation),
);
} else {}
controller.getVisibleRegion();
// Animate camera to user location (optional)
controller.animateCamera(
CameraUpdate.newLatLng(Get.find<LocationController>().myLocation),
);
}
// قم بإنشائه مباشرة
// final MapController mapController = MapController();
// bool isMapReady = false;
// void onMapReady() {
// isMapReady = true;
// print("Map is ready to be moved!");
// }
void savePeriod(Duration period) {
final periods = box.read<List<dynamic>>(BoxName.periods) ?? [];
periods.add(period.inSeconds);
@@ -279,10 +278,25 @@ class HomeCaptainController extends GetxController {
getAllPayment();
startPeriodicExecution();
getCaptainWalletFromBuyPoints();
onMapCreated(mapHomeCaptainController!);
// onMapCreated(mapHomeCaptainController!);
// totalPoints = Get.find<CaptainWalletController>().totalPoints.toString();
getRefusedOrderByCaptain();
box.write(BoxName.statusDriverLocation, 'off');
locationController.addListener(() {
// فقط إذا كان السائق "متصل" والخريطة جاهزة
if (isActive && mapHomeCaptainController != null) {
mapHomeCaptainController!.animateCamera(
CameraUpdate.newCameraPosition(
CameraPosition(
target: locationController.myLocation, // الموقع الجديد
zoom: 17.5,
tilt: 50.0,
bearing: locationController.heading, // اتجاه السيارة
),
),
);
}
});
// LocationController().getLocation();
super.onInit();
}