56 lines
1.3 KiB
Dart
56 lines
1.3 KiB
Dart
import 'package:flutter_map/flutter_map.dart';
|
|
import 'package:geojson/geojson.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:latlong2/latlong.dart';
|
|
import 'package:rogaining_jp/models/check_points.dart';
|
|
import 'package:rogaining_jp/services/checkpoint_service.dart';
|
|
import 'package:rogaining_jp/services/rog_event_service.dart';
|
|
import 'package:rogaining_jp/services/rog_route_service.dart';
|
|
|
|
|
|
class HomeController extends GetxController {
|
|
|
|
List<CheckPoint> checkpoints = <CheckPoint>[].obs;
|
|
List<GeoJsonFeature?> RogEvents = <GeoJsonFeature>[].obs;
|
|
List<GeoJsonFeature?> RogRoutes = <GeoJsonFeature>[].obs;
|
|
|
|
|
|
CheckPoint getIncidentForLatLong(double lat, double long){
|
|
for(CheckPoint i in checkpoints){
|
|
if(i.lat == lat && i.long == long){
|
|
return i;
|
|
break;
|
|
}
|
|
}
|
|
return CheckPoint.fromId(1);
|
|
}
|
|
|
|
|
|
void addCheckPoint(CheckPoint checkPoint){
|
|
this.checkpoints.add(checkPoint);
|
|
}
|
|
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
checkpoints.addAll(CheckpointService.getDistricts());
|
|
RogEventService.loadRogEvents().then((value){
|
|
RogEvents.addAll(value);
|
|
});
|
|
RogRouteService.loadRogRoutes().then((value){
|
|
RogRoutes.addAll(value);
|
|
});
|
|
}
|
|
|
|
@override
|
|
void onReady() {
|
|
super.onReady();
|
|
}
|
|
|
|
@override
|
|
void onClose() {
|
|
super.onClose();
|
|
}
|
|
}
|