fixed position error and added goad condition button
This commit is contained in:
@ -562,6 +562,8 @@ class DestinationController extends GetxController {
|
||||
}
|
||||
|
||||
Future<void> addGPStoDB(double la, double ln, {isCheckin = 0}) async {
|
||||
//print("in addGPStoDB ${indexController.currentUser}");
|
||||
try {
|
||||
GpsDatabaseHelper db = GpsDatabaseHelper.instance;
|
||||
final team_name = indexController.currentUser[0]["user"]['team_name'];
|
||||
final event_code = indexController.currentUser[0]["user"]["event_code"];
|
||||
@ -574,7 +576,10 @@ class DestinationController extends GetxController {
|
||||
is_checkin: isCheckin,
|
||||
created_at: DateTime.now().millisecondsSinceEpoch);
|
||||
var res = await db.insertGps(gps_data);
|
||||
//print("==gps res == ${res}");
|
||||
} catch (err) {
|
||||
print("errr ready gps ${err}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> checkForCheckin() async {
|
||||
@ -762,6 +767,7 @@ class DestinationController extends GetxController {
|
||||
}
|
||||
|
||||
void handleLocationUpdate(Position? position) async {
|
||||
try {
|
||||
if (position != null) {
|
||||
if (distanceToStart() >= 1000) {
|
||||
ready_for_goal = true;
|
||||
@ -772,6 +778,7 @@ class DestinationController extends GetxController {
|
||||
LengthUnit.Meter,
|
||||
LatLng(position.latitude, position.longitude),
|
||||
LatLng(currentLat, currentLon));
|
||||
|
||||
Duration difference =
|
||||
lastGPSCollectedTime.difference(DateTime.now()).abs();
|
||||
if (difference.inSeconds >= 10 || distanceToDest >= 10) {
|
||||
@ -780,17 +787,20 @@ class DestinationController extends GetxController {
|
||||
|
||||
LogManager().addLog(
|
||||
"GPS : $currentLat, $currentLon - ${DateTime.now().hour}:${DateTime.now().minute}:${DateTime.now().second}:${DateTime.now().microsecond}");
|
||||
|
||||
if (isInRog.value) {
|
||||
await addGPStoDB(position.latitude, position.longitude);
|
||||
lastGPSCollectedTime = DateTime.now();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} finally {
|
||||
if (position != null &&
|
||||
(position.latitude != 0 || position.longitude != 0)) {
|
||||
currentLat = position.latitude;
|
||||
currentLon = position.longitude;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
double distanceToStart() {
|
||||
if (indexController.locations.isEmpty) {
|
||||
@ -908,8 +918,11 @@ class DestinationController extends GetxController {
|
||||
}
|
||||
|
||||
void centerMapToCurrentLocation() {
|
||||
print("center is ${currentLat}, ${currentLon}");
|
||||
if (currentLat != 0 || currentLon != 0) {
|
||||
indexController.mapController.move(LatLng(currentLat, currentLon), 17.0);
|
||||
}
|
||||
}
|
||||
|
||||
void connectionChanged(String val) {
|
||||
//print('----- %%%%%%%%%%%%%%%%%%%%% ----- $val');
|
||||
|
||||
@ -44,20 +44,26 @@ class GpsDatabaseHelper {
|
||||
}
|
||||
|
||||
Future<int> insertGps(GpsData gps) async {
|
||||
try {
|
||||
print("---- try insering ${gps.toMap()}");
|
||||
Database db = await instance.database;
|
||||
int? nextOrder =
|
||||
Sqflite.firstIntValue(await db.rawQuery('SELECT MAX(id) FROM gps'));
|
||||
nextOrder = nextOrder ?? 0;
|
||||
nextOrder = nextOrder + 1;
|
||||
gps.id = nextOrder;
|
||||
//print("---- insering ${gps.toMap()}");
|
||||
print("---- insering ${gps.toMap()}");
|
||||
int res = await db.insert(
|
||||
'gps',
|
||||
gps.toMap(),
|
||||
conflictAlgorithm: ConflictAlgorithm.replace,
|
||||
);
|
||||
//print("------ database helper insert $res-----------::::::::");
|
||||
print("------ database helper insert $res-----------::::::::");
|
||||
return res;
|
||||
} catch (err) {
|
||||
print("------ error $err-----------::::::::");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
Future<List<GpsData>> getGPSData(String team_name, String event_code) async {
|
||||
|
||||
@ -129,7 +129,7 @@ class BottomSheetNew extends GetView<BottomSheetController> {
|
||||
style: ElevatedButton.styleFrom(backgroundColor: Colors.red),
|
||||
onPressed: destinationController.rogainingCounted.value == true &&
|
||||
destinationController.distanceToStart() <= 500 &&
|
||||
//destination.cp == -1 &&
|
||||
destination.cp == -1 &&
|
||||
DestinationController.ready_for_goal == true
|
||||
? () async {
|
||||
destinationController.isAtGoal.value = true;
|
||||
|
||||
@ -176,7 +176,7 @@ class _MapWidgetState extends State<MapWidget> {
|
||||
}
|
||||
|
||||
void _centerMapOnUser() {
|
||||
print("showBottomSheet ${destinationController.shouldShowBottomSheet}");
|
||||
//print("showBottomSheet ${destinationController.shouldShowBottomSheet}");
|
||||
if (destinationController.shouldShowBottomSheet) {
|
||||
destinationController.centerMapToCurrentLocation();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user