plug_location2.dart 712 B

12345678910111213141516171819202122232425262728293031323334
  1. import 'dart:async';
  2. import 'package:trackoffical_app/service/app.dart';
  3. import '../../model/m_position.dart';
  4. import 'plug.dart';
  5. import 'package:get/get.dart';
  6. export '../../model/m_position.dart';
  7. export 'package:get/get.dart';
  8. class PlugLocation extends Plug {
  9. final _app = App.to;
  10. final Rx<MPosition?> location = Rx(null);
  11. @override
  12. Future<void> init() async {
  13. final locationStream = _app.locationStream;
  14. listenStream(locationStream, (p) {
  15. location.value = p;
  16. });
  17. _app.locationStart(500.milliseconds, 1);
  18. _app.getPosition(timeout: 5.seconds).then((p) {
  19. location.value = p;
  20. });
  21. }
  22. @override
  23. Future<void> close() async {
  24. _app.locationStop();
  25. }
  26. }