geolocator 1.1.0 copy "geolocator: ^1.1.0" to clipboard
geolocator: ^1.1.0 copied to clipboard

outdated

Geolocation plugin for Flutter. This plugin provides a cross-platform API for generic location (GPS etc.) functions.

Flutter Geolocator Plugin #

A Flutter plugin which provides easy access to the platform specific location services (LocationManager on Android and CLLocationManager on iOS).

Branch Build Status
develop Build Status
master Build Status

Usage #

To use this plugin, add geolocator as a dependency in your pubspec.yaml file. For example:

dependencies:
  geolocator: '^1.0.0'

NOTE: There's a known issue with integrating plugins that use Swift into a Flutter project created with the Objective-C template. See issue Flutter#16049 for help on integration.

Permissions #

Android #

On Android you'll need to add the ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION permissions to your Android Manifest. Todo so open the AndroidManifest.xml file and add the following two lines as direct children of the <manifest> tag:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

iOS #

On iOS you'll need to add the NSLocationWhenInUseUsageDescription to your Info.plist file in order to access the device's location. Simply open your Info.plist file and add the following:

<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to location when open.</string>

If you would like to access the device's location when your App is running in the background, you should also add the NSLocationAlwaysAndWhenInUseUsageDescription (if your App support iOS 10 or earlier you should also add the key NSLocationAlwaysUsageDescription) key to your Info.plist file:

<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access to location when in the background.</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>This app needs access to location when open and in the background.</string>

Example #

To query the current location of the device simply make a call to the getPosition method:

import 'package:geolocator/geolocator.dart';
import 'package:geolocator/models/location_accuracy.dart';
import 'package:geolocator/models/position.dart';

Position position = await new Geolocator().getPosition(LocationAccuracy.High);

To listen for location changes you can subscribe to the onPositionChanged stream:

import 'package:geolocator/geolocator.dart';
import 'package:geolocator/models/location_accuracy.dart';
import 'package:geolocator/models/position.dart';

Geolocator geolocator = new Geolocator();
StreamSubscription<Position> positionStream = geolocator.getPositionStream(LocationAccuracy.High).listen(
    (Position position) {
        print(_position == null ? 'Unknown' : _position.latitude.toString() + ', ' + _position.longitude.toString());
    });

See also the example project for a complete implementation.

Location accuracy #

The table below outlines the accuracy options per platform:

Android iOS
Lowest 500m 3000m
Low 500m 1000m
Medium 100 - 500m 100m
High 0 - 100m 10m
Best 0 - 100m ~0m
5045
likes
0
pub points
100%
popularity

Publisher

verified publisherbaseflow.com

Geolocation plugin for Flutter. This plugin provides a cross-platform API for generic location (GPS etc.) functions.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, meta

More

Packages that depend on geolocator