getCurrentPosition method

Future<Geoposition> getCurrentPosition({
  1. bool? enableHighAccuracy,
  2. Duration? timeout,
  3. Duration? maximumAge,
})

Implementation

Future<Geoposition> getCurrentPosition({
  bool? enableHighAccuracy,
  Duration? timeout,
  Duration? maximumAge,
}) {
  var options = {};
  if (enableHighAccuracy != null) {
    options['enableHighAccuracy'] = enableHighAccuracy;
  }
  if (timeout != null) {
    options['timeout'] = timeout.inMilliseconds;
  }
  if (maximumAge != null) {
    options['maximumAge'] = maximumAge.inMilliseconds;
  }
  var completer = new Completer<Geoposition>();
  try {
    _getCurrentPosition(
      (position) {
        completer.complete(_ensurePosition(position));
      },
      (error) {
        completer.completeError(error);
      },
      options,
    );
  } catch (e, stacktrace) {
    completer.completeError(e, stacktrace);
  }
  return completer.future;
}