autocompleteDebounced method

void autocompleteDebounced(
  1. String query,
  2. Duration delay,
  3. dynamic onResult(
    1. List<PowerMapSearchResult>
    ), {
  4. LatLng? location,
  5. String lang = 'auto',
})

Debounced autocomplete for search-as-you-type

Implementation

void autocompleteDebounced(
  String query,
  Duration delay,
  Function(List<PowerMapSearchResult>) onResult, {
  LatLng? location,
  String lang = 'auto',
}) {
  if (_debounceTimer?.isActive ?? false) {
    _debounceTimer!.cancel();
  }
  _debounceTimer = Timer(delay, () async {
    if (query.isEmpty) {
      onResult([]);
      return;
    }
    final results = await provider.autocomplete(query, proximity: location, lang: lang);
    onResult(results);
  });
}