-
Maximilian Betz authoredMaximilian Betz authored
addevent.dart 8.54 KiB
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'datamodel.dart';
import 'dart:async';
import 'package:geolocator/geolocator.dart';
class AddEvent extends StatefulWidget {
@override
State<AddEvent> createState() => _AddEventPageState();
}
class _AddEventPageState extends State<AddEvent> {
final List<bool> _isGNSSSelected = [true];
bool servicestatus = false;
bool haspermission = false;
late LocationPermission permission;
late Position position;
late String long = "";
late String lat = "";
late String alt = "";
late double accuracy = 0.0;
late StreamSubscription<Position> positionStream;
LocationSettings locationSettings = const LocationSettings(
accuracy: LocationAccuracy.high,
distanceFilter: 0,
);
getLocation() async {
position =
await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
print('Get Location: Lat:' + position.latitude.toString() +
' Long:' + position.longitude.toString() +
' Alt:' + position.altitude.toString());
long = position.longitude.toString();
lat = position.latitude.toString();
alt = position.altitude.toString();
accuracy = position.accuracy;
setState(() {
//refresh UI
});
StreamSubscription<Position> positionStream = Geolocator.getPositionStream(
locationSettings: locationSettings).listen((Position position) {
print('Get Location: Lat:' + position.latitude.toString() +
' Long:' + position.longitude.toString() +
' Alt:' + position.altitude.toString());
long = position.longitude.toString();
lat = position.latitude.toString();
alt = position.altitude.toString();
accuracy = position.accuracy;
setState(() {
//refresh UI on update
});
});
}
checkGnssPermission() async {
print("CheckGnssPermission");
servicestatus = await Geolocator.isLocationServiceEnabled();
if(servicestatus){
permission = await Geolocator.checkPermission();
if (permission == LocationPermission.denied) {
permission = await Geolocator.requestPermission();
if (permission == LocationPermission.denied) {
print('Location permissions are denied');