Я пытаюсь создать приложение, используя службы геолокации
, вот код:
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».
Может кто-нибудь помочь мне, пожалуйста?