getRaw method

  1. @override
Stream<GpsPosition> getRaw()
override

Implementation

@override
Stream<GpsPosition> getRaw() {
  var mappedStream = Geolocator.getPositionStream().map((event) {
    return GpsPosition(
      accuracy: event.accuracy,
      altitude: event.altitude,
      heading: event.heading,
      latitude: event.latitude,
      longitude: event.longitude,
      speed: event.speed,
      speedAccuracy: event.speedAccuracy,
      timestamp: event.timestamp!.millisecondsSinceEpoch.toDouble()
    );
  });

  var timestampAtLastCall = DateTime.now().millisecondsSinceEpoch;

  return mappedStream.where((event) {
    if (DateTime.now().millisecondsSinceEpoch - timestampAtLastCall > inMillis) {
      timestampAtLastCall = DateTime.now().millisecondsSinceEpoch;
      return true;
    }
    return false;
  });
}