Skip to content
Snippets Groups Projects
Commit a7d5d302 authored by Maximilian Betz's avatar Maximilian Betz
Browse files

add precision field

parent 428ab08b
No related branches found
No related tags found
No related merge requests found
......@@ -10,7 +10,7 @@ class AddEvent extends StatefulWidget {
}
class _AddEventPageState extends State<AddEvent> {
final List<bool> _isSelected = [true];
final List<bool> _isGNSSSelected = [true];
bool servicestatus = false;
bool haspermission = false;
late LocationPermission permission;
......@@ -18,7 +18,7 @@ class _AddEventPageState extends State<AddEvent> {
late String long = "";
late String lat = "";
late String alt = "";
late String accuracy = "";
late double accuracy = 0.0;
late StreamSubscription<Position> positionStream;
LocationSettings locationSettings = const LocationSettings(
accuracy: LocationAccuracy.high,
......@@ -35,7 +35,7 @@ class _AddEventPageState extends State<AddEvent> {
long = position.longitude.toString();
lat = position.latitude.toString();
alt = position.altitude.toString();
accuracy = position.accuracy.toString();
accuracy = position.accuracy;
setState(() {
//refresh UI
......@@ -49,7 +49,7 @@ class _AddEventPageState extends State<AddEvent> {
long = position.longitude.toString();
lat = position.latitude.toString();
alt = position.altitude.toString();
accuracy = position.accuracy.toString();
accuracy = position.accuracy;
setState(() {
//refresh UI on update
......@@ -125,9 +125,32 @@ class _AddEventPageState extends State<AddEvent> {
final EventStoreInstance storedEvents = EventStoreInstance();
final EventCurrentInstance currentEvent = EventCurrentInstance();
final TextEditingController _controllerLat = TextEditingController(text: lat);
final TextEditingController _controllerLong = TextEditingController(text: long);
final TextEditingController _controllerAlt = TextEditingController(text: alt);
final bool _disable_gnss_editing = _isGNSSSelected[0];
String _gnss_status_text = "";
//print("###"+currentEvent.store.toString());
//final TextEditingController _controllerLat = TextEditingController(text: currentEvent.store.latitude);
final TextEditingController _controllerLat = TextEditingController(text: "LAT123");
//final TextEditingController _controllerLong = TextEditingController(text: currentEvent.store.longitude);
final TextEditingController _controllerLong = TextEditingController(text: "Long123");
//final TextEditingController _controllerAlt = TextEditingController(text: currentEvent.store.elevation);
final TextEditingController _controllerAlt = TextEditingController(text: "Alt123");
//currentEvent.store.
if (true == _isGNSSSelected[0]){
_controllerLat.text = lat;
_controllerLong.text = long;
_controllerAlt.text = alt;
_gnss_status_text = "Precision: "+ accuracy.toStringAsFixed(2) +"m";
}
else{
_gnss_status_text = "Off";
// do nothing and keep old value,
}
return Scaffold(
appBar: AppBar(title: const Text("Add Event")),
......@@ -188,7 +211,7 @@ class _AddEventPageState extends State<AddEvent> {
),
TextField(
readOnly: true,
enabled: true,
enabled: !_disable_gnss_editing,
controller: _controllerLat,
decoration: InputDecoration(
labelText: 'Latitude',
......@@ -197,7 +220,7 @@ class _AddEventPageState extends State<AddEvent> {
),
TextField(
readOnly: true,
enabled: true,
enabled: !_disable_gnss_editing,
controller: _controllerLong,
decoration: InputDecoration(
labelText: 'Longitude',
......@@ -206,7 +229,7 @@ class _AddEventPageState extends State<AddEvent> {
),
TextField(
readOnly: true,
enabled: true,
enabled: !_disable_gnss_editing,
controller: _controllerAlt,
decoration: InputDecoration(
labelText: 'Elevation',
......@@ -217,16 +240,16 @@ class _AddEventPageState extends State<AddEvent> {
bottomNavigationBar: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Text('No-Fix'),
Text(_gnss_status_text),
SizedBox(width: 50),
ToggleButtons(
children: <Widget>[
Icon(Icons.my_location),
],
isSelected: _isSelected,
isSelected: _isGNSSSelected,
onPressed: (int index) {
setState(() {
_isSelected[index] = !_isSelected[index];
_isGNSSSelected[index] = !_isGNSSSelected[index];
});
},
),
......
......@@ -50,28 +50,46 @@ class Event{
String type;
String description;
String status;
String latitude;
String longitude;
String elevation;
Event(
this.id,
this.urn,
this.label,
this.type,
this.description,
this.status
);
this.id,
this.urn,
this.label,
this.type,
this.description,
this.status,
[this.latitude = "",
this.longitude = "",
this.elevation = ""]
);
factory Event.fromJson(Map<String, dynamic> parsedJson){
return Event( parsedJson['id'] as int,
parsedJson['urn'] as String,
parsedJson['label'] as String,
parsedJson['type'] as String,
parsedJson['description'] as String,
parsedJson['status'] as String );
parsedJson['urn'] as String,
parsedJson['label'] as String,
parsedJson['type'] as String,
parsedJson['description'] as String,
parsedJson['status'] as String,
"",
"",
"",
);
}
@override
String toString(){
return '{ ${this.id}, ${this.urn}, ${this.label}, ${this.type}, ${this.description}, ${this.status} }';
return '{ ${this.id}, '
'${this.urn}, '
'${this.label}, '
'${this.type}, '
'${this.description}, '
'${this.latitude},'
'${this.longitude},'
'${this.elevation},'
'${this.status} }';
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment