map_controller_hook.dart 831 B

1234567891011121314151617181920212223242526272829303132
  1. import 'package:flutter/widgets.dart';
  2. import 'package:flutter_hooks/flutter_hooks.dart';
  3. import 'package:flutter_map/flutter_map.dart';
  4. MapController useMapController({
  5. String? debugLabel,
  6. List<Object?>? keys,
  7. }) {
  8. return use(_MapControllerHook(keys: keys));
  9. }
  10. class _MapControllerHook extends Hook<MapController> {
  11. const _MapControllerHook({List<Object?>? keys}) : super(keys: keys);
  12. @override
  13. HookState<MapController, Hook<MapController>> createState() =>
  14. _MapControllerHookState();
  15. }
  16. class _MapControllerHookState
  17. extends HookState<MapController, _MapControllerHook> {
  18. late final controller = MapController();
  19. @override
  20. MapController build(BuildContext context) => controller;
  21. @override
  22. void dispose() => controller.dispose();
  23. @override
  24. String get debugLabel => 'useMapController';
  25. }