fix(mobile): debounce map layer update (#6861)

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
shenlong
2024-02-05 03:07:08 +00:00
committed by GitHub
parent f4ab5d3ff7
commit 1d93889920
2 changed files with 15 additions and 1 deletions

View File

@@ -41,6 +41,7 @@ class MapPage extends HookConsumerWidget {
final bottomSheetStreamController = useStreamController<MapEvent>();
final selectedMarker = useValueNotifier<_AssetMarkerMeta?>(null);
final assetsDebouncer = useDebouncer();
final layerDebouncer = useDebouncer(interval: const Duration(seconds: 1));
final isLoading = useProcessingOverlay();
final scrollController = useScrollController();
final markerDebouncer =
@@ -77,7 +78,9 @@ class MapPage extends HookConsumerWidget {
// removes all sources and layers and re-adds them with the updated markers
Future<void> reloadLayers() async {
if (mapController.value != null) {
mapController.value!.reloadAllLayersForMarkers(markers.value);
layerDebouncer.run(
() => mapController.value!.reloadAllLayersForMarkers(markers.value),
);
}
}