Skip to content
Snippets Groups Projects
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');