Flutterを使用してAndroidデバイス上の現在の場所を取得する方法を教えてください。私は両方を試してみました 場所 および Geolocator プラグインGeolocator 3.0.0にデバッグ時にこのエラーが表示されます。
_Launching lib\main.Dart on Android SDK built for x86 in debug mode...
_
失敗:ビルドが例外で失敗しました。
Android依存関係 'android.arch.lifecycle:runtime'には、コンパイル(1.0.0)とランタイム(1.1.0)クラスパスに異なるバージョンがあります。依存関係によって手動で同じバージョンを設定する必要があります
Location 2.0.0はデバッグ時にエラーをスローします。 GeoLocationという名前の別のプラグインがありますが、Dart 2.0と互換性がありません。そのような状況では、場所(経度と緯度)を手に入れることができますか?あらゆる助けが高く評価されるでしょう。
今すぐあなたが解決策を見つけたかもしれませんが、それでも私はこれを追加しているかもしれません。
現在地を取得するにはジロケーターを使用してください
Pubsec.Yaml.
geolocator: '^2.0.1'
_
あなたのダーツファイルに
import 'package:flutter/material.Dart';
import 'package:geolocator/geolocator.Dart';
void main() => runApp(MapScreen());
class MapScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Map",
home: MapActivity(),
);
}
}
class MapActivity extends StatefulWidget {
@override
_MapActivityState createState() => _MapActivityState();
}
class _MapActivityState extends State<MapActivity> {
LatLng _center ;
Position currentLocation;
@override
void initState() {
// TODO: implement initState
super.initState();
getUserLocation();
}
Future<Position> locateUser() async {
return Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
}
getUserLocation() async {
currentLocation = await locateUser();
setState(() {
_center = LatLng(currentLocation.latitude, currentLocation.longitude);
});
print('center $_center');
}
}
_
お役に立てれば