rebuildMarkers method

Future<void> rebuildMarkers(
  1. int index
)

Implementation

Future<void> rebuildMarkers(int index) async {
  if(widget.items.length == 0) return;
  int current = widget.items[index].id;

  Set<Marker> _markers = Set<Marker>();

  widget.items.forEach((item) {
    _markers.add(
      Marker(
        markerId: MarkerId(item.id.toString()),
        position: LatLng(item.latitude, item.longitude),
        onTap: () {
          int tappedIndex = widget.items.indexWhere((element) => element.id == item.id);
          pageController.animateToPage(
            tappedIndex,
            duration: Duration(milliseconds: 300),
            curve: Curves.bounceInOut,
          );
          _pageChanged(tappedIndex);
        },
        icon:  BitmapDescriptor.defaultMarkerWithHue(item.id == current ? BitmapDescriptor.hueGreen : BitmapDescriptor.hueRed),
        // icon: item.id == current ? BitmapDescriptor.fromBytes(widget.markerIconSelected!) : BitmapDescriptor.fromBytes(widget.markerIcon!),
      ),
    );
  });

  setState(() {
    markers = _markers;
  });
  // selectedMarker.value = current;
  selectedMarker.value = current;
  // selectedMarker.notifyListeners();
}