Távolság vagy terület mérése a térképen terepbejárás nézetben
This commit is contained in:
@@ -26,6 +26,7 @@ import 'package:terepi_seged/core/geometry_measure_formatter.dart';
|
||||
import 'package:terepi_seged/core/geopackage_exporter.dart';
|
||||
import 'package:terepi_seged/core/style_editable.dart';
|
||||
import 'package:terepi_seged/enums/map_edit_tool.dart';
|
||||
import 'package:terepi_seged/enums/map_measure_type.dart';
|
||||
import 'package:terepi_seged/enums/map_survey_mode.dart';
|
||||
import 'package:terepi_seged/enums/note_type.dart';
|
||||
import 'package:terepi_seged/eov/convert_coordinate.dart';
|
||||
@@ -240,6 +241,11 @@ class MapSurveyController extends GetxController implements StyleEditable {
|
||||
}
|
||||
}
|
||||
|
||||
final mapMeasureType = MapMeasureType.none.obs;
|
||||
final distanceOrAreaMeasurePoints = <LatLng>[].obs;
|
||||
bool get isDistanceOrAreaMeasuring =>
|
||||
mapMeasureType.value != MapMeasureType.none;
|
||||
|
||||
// NoteItem? get selectedPoint =>
|
||||
// pointNotes.firstWhereOrNull((n) => n.id == selectedNoteItemId.value);
|
||||
|
||||
@@ -1985,4 +1991,31 @@ class MapSurveyController extends GetxController implements StyleEditable {
|
||||
void toggleShowLines() => showLines.value = !showLines.value;
|
||||
|
||||
void toggleShowPolygons() => showPolygons.value = !showPolygons.value;
|
||||
|
||||
void toggleMeasureDistance() {
|
||||
if (mapMeasureType.value == MapMeasureType.distance) {
|
||||
mapMeasureType.value = MapMeasureType.none;
|
||||
} else {
|
||||
mapMeasureType.value = MapMeasureType.distance;
|
||||
}
|
||||
distanceOrAreaMeasurePoints.clear();
|
||||
}
|
||||
|
||||
void toggleMeasureArea() {
|
||||
if (mapMeasureType.value == MapMeasureType.area) {
|
||||
mapMeasureType.value = MapMeasureType.none;
|
||||
} else {
|
||||
mapMeasureType.value = MapMeasureType.area;
|
||||
}
|
||||
distanceOrAreaMeasurePoints.clear();
|
||||
}
|
||||
|
||||
void addDistanceOrAreaMeasuredPoint(LatLng point) =>
|
||||
distanceOrAreaMeasurePoints.add(point);
|
||||
|
||||
void removeLastDistanceOrAreaMeasuredPoint() {
|
||||
if (distanceOrAreaMeasurePoints.isNotEmpty) {
|
||||
distanceOrAreaMeasurePoints.removeLast();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user