Как мне решить проблему с геолокации во флаттере - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь создать приложение, используя службы геолокации

, вот код:

import 'package:brew_two/services/auth.dart';
import 'package:flutter/material.dart';
import 'package:geolocation/geolocation.dart';
import 'package:flutter_map/flutter_map.dart';


class Home extends StatelessWidget {

 MapController controller = new MapController();

 getPermission() async {
  final GeolocationResult result =
   await Geolocation.requestLocationPermission(
   const LocationPermission(
    android: LocationPermissionAndroid.fine,
    ios : LocationPermissionIOS.always));
  return result;
 }

 getLocation() {
 return getPermission().then((result) async {
  if(result.isSuccessful){
  final coords = await Geolocation.currentLocation(
    accuracy: LocationAccuracy.best);
  }
 });
 }

 buildMap(){
 getLocation().then((response) {
  if(response.isSuccessful){
    response.listen((value){
      controller.move(
        new LatLng(value.location.lattitude, value.location.longtiude),
        15.0);
    });
  }
  });
 }



final AuthService _auth = AuthService();

@override
Widget build(BuildContext context) {
return Scaffold(
  backgroundColor: Colors.brown[50],
  appBar: AppBar(
    title: Text('Brew Crew'),
    backgroundColor: Colors.brown[400],
    elevation: 0.0,
    actions: <Widget>[
      FlatButton.icon(
        onPressed: () async {
          await _auth.signOut();
        },
        icon: Icon(Icons.person), 
        label: Text('Logout'))
    ],
  ),
  body: new FlutterMap(
    mapController: controller,
    options: new MapOptions(center: buildMap(), minZoom: 5.0),
    layers: [
      new TileLayerOptions(
        urlTemplate:
        "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
        subdomains: ['a', 'b', 'c']),
    ]),
  );
  }
 }

, но здесь я сталкиваюсь со следующими проблемами:

await Geolocation.requestLocationPermission(
   const LocationPermission(
    android: LocationPermissionAndroid.fine,
    ios : LocationPermissionIOS.always));

Слишком много позиционных аргументов: 0 ожидалось, но 1 найдено. Попробуйте удалить дополнительные позиционные аргументы или указать имя для именованных аргументов.

и другую проблему с функцией LatLng:

new LatLng(value.location.lattitude, value.location.longtiude),

Конструктор возвращает тип 'dynamici c', который не является 't ожидаемого типа' LatLng '. Неопределенный класс 'LatLng'. Попробуйте изменить имя на имя существующего класса или создать класс с именем «LatLng».

Может кто-нибудь помочь мне, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...