location 1.4.1 location: ^1.4.1 copied to clipboard
A Flutter plugin for location with Callbacks.
Flutter Location Plugin #
This plugin for Flutter handles getting location on Android and iOS. It also provides callbacks when location is changed.
Breaking Changes #
As of the 1.4 version, you have to call getLocation()
instead of just getLocation
and onLocationChanged()
instead of onLocationChanged
.
Getting Started #
In order to use this plugin in Android, you have to add this permission in AndroidManifest.xml :
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Permission check for Android 6+ was added. Still no callback when permissions granted so aiming SDK 21 is safer.
And to use it in iOS, you have to add this permission in Info.plist :
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
Then you just have to import the package with
import 'package:location/location.dart';
Look into the example for utilisation, but a basic implementation can be done like this for a one time location :
var currentLocation = <String, double>{};
var location = new Location();
// Platform messages may fail, so we use a try/catch PlatformException.
try {
currentLocation = await location.getLocation;
} on PlatformException {
currentLocation = null;
}
You can also get continuous callbacks when your position is changing:
var location = new Location();
location.onLocationChanged.listen((Map<String,double> currentLocation) {
print(currentLocation["latitude"]);
print(currentLocation["longitude"]);
print(currentLocation["accuracy"]);
print(currentLocation["altitude"]);
print(currentLocation["speed"]);
print(currentLocation["speed_accuracy"]); // Will always be 0 on iOS
});
API #
In this table you can find the different functions exposed by this plugin:
Methods | Description |
---|---|
Future<Map<String, double>> | getLocation() Allow to get a one time position of the user. |
Future<bool> | hasPermission() Return a boolean to know the state of the location permission. |
Stream<Map<String, double>> | onLocationChanged() Get the stream of the user's location. |
Feedback #
Please feel free to give me any feedback helping support this plugin !