Új appbar, NtripSettingsSheet
This commit is contained in:
@@ -18,23 +18,21 @@ import 'package:path_provider/path_provider.dart';
|
||||
import 'package:share_plus/share_plus.dart';
|
||||
import 'package:supabase_flutter/supabase_flutter.dart';
|
||||
import 'package:terepi_seged/controls/geoid_grid.dart';
|
||||
import 'package:terepi_seged/enums/map_survey_mode.dart';
|
||||
import 'package:terepi_seged/eov/convert_coordinate.dart';
|
||||
import 'package:terepi_seged/eov/eov.dart';
|
||||
import 'package:terepi_seged/models/point_to_measure.dart';
|
||||
import 'package:terepi_seged/models/point_with_description_model.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:terepi_seged/pages/map_survey/presentations/views/measured_points_table_dialog.dart';
|
||||
import 'package:terepi_seged/pages/ntrip_settings/presentation/controllers/ntrip_settings_controller.dart';
|
||||
import 'package:terepi_seged/pages/ntrip_settings/presentation/views/ntrip_settings_sheet.dart';
|
||||
import 'package:terepi_seged/services/coord_converter_service.dart';
|
||||
import 'package:terepi_seged/services/gnss/gnss_connection.dart';
|
||||
import 'package:terepi_seged/services/gnss/gnss_device_service.dart';
|
||||
import 'package:terepi_seged/services/gnss/gnss_service.dart';
|
||||
import 'package:terepi_seged/services/ntrip_service.dart';
|
||||
|
||||
enum MapSurveyMode {
|
||||
measure, // Bemérés — ahol vagyok, azt rögzítem
|
||||
stakeout, // Kitűzés — adott ponthoz navigálok, majd rögzítem
|
||||
}
|
||||
|
||||
class MapSurveyController extends GetxController {
|
||||
static MapSurveyController get to => Get.find();
|
||||
|
||||
@@ -258,6 +256,77 @@ class MapSurveyController extends GetxController {
|
||||
);
|
||||
}
|
||||
|
||||
String _formatMeter(double? value, [int decimalSpace = 3]) {
|
||||
if (value == null || value.isNaN || value.isInfinite) {
|
||||
return '-';
|
||||
}
|
||||
|
||||
return '${value.toStringAsFixed(decimalSpace)} m';
|
||||
}
|
||||
|
||||
String get verticalAccuracyText {
|
||||
return _formatMeter(gpsAltitudeError.value);
|
||||
}
|
||||
|
||||
String get horizontalAccuracyText {
|
||||
return _formatMeter(max(gpsLatitudeError.value, gpsLongitudeError.value));
|
||||
}
|
||||
|
||||
void setMode(MapSurveyMode newMode) {
|
||||
mode.value = newMode;
|
||||
|
||||
// Itt lehet módhoz kötött állapotokat állítani:
|
||||
// - alsó panel tartalma
|
||||
// - térképi tap viselkedés
|
||||
// - aktív kártyák
|
||||
// - track indítás/leállítás figyelmeztetés stb.
|
||||
}
|
||||
|
||||
String get currentModeLabel {
|
||||
switch (mode.value) {
|
||||
case MapSurveyMode.browse:
|
||||
return 'Térkép';
|
||||
case MapSurveyMode.measure:
|
||||
return 'Bemérés';
|
||||
case MapSurveyMode.stakeout:
|
||||
return 'Kitűzés';
|
||||
case MapSurveyMode.fieldWalk:
|
||||
return 'Bejárás';
|
||||
}
|
||||
}
|
||||
|
||||
IconData get currentModeIcon {
|
||||
switch (mode.value) {
|
||||
case MapSurveyMode.browse:
|
||||
return Icons.map;
|
||||
case MapSurveyMode.measure:
|
||||
return Icons.add_location_alt;
|
||||
case MapSurveyMode.stakeout:
|
||||
return Icons.gps_fixed;
|
||||
case MapSurveyMode.fieldWalk:
|
||||
return Icons.hiking;
|
||||
}
|
||||
}
|
||||
|
||||
void openNtripsettings() {
|
||||
if (!Get.isRegistered<NtripSettingsController>()) {
|
||||
Get.put(NtripSettingsController());
|
||||
}
|
||||
|
||||
Get.bottomSheet(const NtripSettingsSheet(),
|
||||
isScrollControlled: true,
|
||||
backgroundColor: Colors.transparent,
|
||||
ignoreSafeArea: false);
|
||||
}
|
||||
|
||||
void showNtripStatus() {
|
||||
// Get.bottomSheet(
|
||||
// const NtripStatusSheet(),
|
||||
// isScrollControlled: true,
|
||||
// backgroundColor: Colors.transparent,
|
||||
// );
|
||||
}
|
||||
|
||||
// ─────────────────────────────────────────────────────────────────
|
||||
// Térkép vezérlők
|
||||
// ─────────────────────────────────────────────────────────────────
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:flutter_map_polywidget/flutter_map_polywidget.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:flutter_map/flutter_map.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
import 'package:terepi_seged/enums/map_survey_mode.dart';
|
||||
import 'package:terepi_seged/pages/map_survey/presentations/controllers/map_survey_controller.dart';
|
||||
import 'package:terepi_seged/pages/map_survey/presentations/views/settings_dialog.dart';
|
||||
import 'package:terepi_seged/utils/rive_utils.dart';
|
||||
@@ -59,11 +60,11 @@ class MapSurveyView extends GetView<MapSurveyController> {
|
||||
// right: 16,
|
||||
// child: SavePointFab(controller: controller),
|
||||
// ),
|
||||
Positioned(
|
||||
bottom: 0,
|
||||
left: 0,
|
||||
right: 0,
|
||||
child: MapBottomPanel(controller: controller))
|
||||
// Positioned(
|
||||
// bottom: 0,
|
||||
// left: 0,
|
||||
// right: 0,
|
||||
// child: MapBottomPanel(controller: controller))
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user