change modes

This commit is contained in:
Mohamed Nouffer
2022-07-09 22:51:34 +05:30
parent 131a8995e0
commit ce105a6754
22 changed files with 828 additions and 293 deletions

View File

@ -7,7 +7,9 @@ import 'package:flutter_polyline_points/flutter_polyline_points.dart';
import 'package:geojson/geojson.dart';
import 'package:get/get.dart';
import 'package:latlong2/latlong.dart';
import 'package:rogapp/model/destination.dart';
import 'package:rogapp/pages/destination/destination_binding.dart';
import 'package:rogapp/pages/destination/destination_controller.dart';
import 'package:rogapp/pages/destination/destination_page.dart';
import 'package:rogapp/pages/destination_map/destination_map_page.dart';
import 'package:rogapp/routes/app_pages.dart';
@ -16,10 +18,12 @@ import 'package:rogapp/services/auth_service.dart';
import 'package:rogapp/services/cat_service.dart';
import 'package:rogapp/services/location_service.dart';
import 'package:rogapp/services/perfecture_service.dart';
import 'package:rogapp/utils/database_helper.dart';
class IndexController extends GetxController {
List<GeoJsonFeatureCollection> locations = <GeoJsonFeatureCollection>[].obs;
List<GeoJsonFeature> currentFeature = <GeoJsonFeature>[].obs;
List<Destination> currentDestinationFeature = <Destination>[].obs;
List<dynamic> perfectures = <dynamic>[].obs;
List<LatLngBounds> currentBound = <LatLngBounds>[].obs;
List<dynamic> subPerfs = <dynamic>[].obs;
@ -35,14 +39,17 @@ class IndexController extends GetxController {
var is_loading = false.obs;
var is_mapController_loaded = false.obs;
var is_rog_mapcontroller_loaded = false.obs;
MapController? mapController;
MapController? rogMapController;
var mode = 0.obs;
var rog_mode = 0.obs;
var rog_mode = 1.obs;
var desination_mode = 0.obs;
var desination_mode = 1.obs;
String dropdownValue = "9";
@ -74,13 +81,14 @@ class IndexController extends GetxController {
switch (page) {
case AppPages.INITIAL :{
rog_mode.value = 0;
print("-- rog mode is ctrl is ${rog_mode.value}");
Get.toNamed(page);
}
break;
case AppPages.TRAVEL : {
rog_mode.value = 1;
Get.toNamed(page);
//Get.off(DestinationPage(), binding: DestinationBinding());
//Get.back();
Get.off(DestinationPage(), binding: DestinationBinding());
}
break;
@ -161,7 +169,13 @@ void login(String email, String password, BuildContext context){
if(currentFeature.isNotEmpty){
getAction();
}
Get.toNamed(AppPages.INITIAL);
if(rog_mode.value == 1){
switchPage(AppPages.TRAVEL);
}
else{
switchPage(AppPages.INITIAL);
}
//Get.toNamed(AppPages.INITIAL);
}else{
is_loading.value = false;
Get.snackbar(
@ -466,7 +480,13 @@ void login(String email, String password, BuildContext context){
}
void makeNext(GeoJsonFeature fs){
GeoJsonFeature<GeoJsonMultiPoint> pt = fs as GeoJsonFeature<GeoJsonMultiPoint>;
if(rog_mode == 1){
DestinationController destinationController = Get.find<DestinationController>();
print("---- destination index--- ${destinationController.destination_index_data} --------");
}
else {
GeoJsonFeature<GeoJsonMultiPoint> pt = fs as GeoJsonFeature<GeoJsonMultiPoint>;
for(int i=0; i<= locations[0].collection.length - 1; i++){
GeoJsonMultiPoint p = locations[0].collection[i].geometry as GeoJsonMultiPoint;
@ -486,34 +506,43 @@ void login(String email, String password, BuildContext context){
}
}
}
}
}
void makePrevious(GeoJsonFeature fs){
GeoJsonFeature<GeoJsonMultiPoint> pt = fs as GeoJsonFeature<GeoJsonMultiPoint>;
for(int i=0; i<= locations[0].collection.length - 1; i++){
GeoJsonMultiPoint p = locations[0].collection[i].geometry as GeoJsonMultiPoint;
if(rog_mode == 1){
DestinationController destinationController = Get.find<DestinationController>();
print("---- destination index--- ${destinationController.destination_index_data} --------");
}
else {
if(p.geoSerie!.geoPoints[0].latitude == pt.geometry!.geoSerie!.geoPoints[0].latitude && p.geoSerie!.geoPoints[0].longitude == pt.geometry!.geoSerie!.geoPoints[0].longitude ){
if(currentFeature.length > 0){
currentFeature.clear();
}
if(i == 0 ){
currentFeature.add(locations[0].collection[locations[0].collection.length -1] as GeoJsonFeature);
getAction();
}
else{
currentFeature.add(locations[0].collection[i - 1] as GeoJsonFeature);
getAction();
}
GeoJsonFeature<GeoJsonMultiPoint> pt = fs as GeoJsonFeature<GeoJsonMultiPoint>;
for(int i=0; i<= locations[0].collection.length - 1; i++){
GeoJsonMultiPoint p = locations[0].collection[i].geometry as GeoJsonMultiPoint;
if(p.geoSerie!.geoPoints[0].latitude == pt.geometry!.geoSerie!.geoPoints[0].latitude && p.geoSerie!.geoPoints[0].longitude == pt.geometry!.geoSerie!.geoPoints[0].longitude ){
if(currentFeature.length > 0){
currentFeature.clear();
}
if(i == 0 ){
currentFeature.add(locations[0].collection[locations[0].collection.length -1] as GeoJsonFeature);
getAction();
}
else{
currentFeature.add(locations[0].collection[i - 1] as GeoJsonFeature);
getAction();
}
}
}
}
}
}