Source
@DomName('Geolocation.getCurrentPosition')
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;
}