updateTileOverlays method
Updates tile overlay configuration.
Change listeners are notified once the update has been made on the platform side.
The returned Future completes after listeners have been notified.
Implementation
@override
Future<void> updateTileOverlays({
required Set<TileOverlay> newTileOverlays,
required int mapId,
}) {
final Map<TileOverlayId, TileOverlay>? currentTileOverlays =
_tileOverlays[mapId];
final Set<TileOverlay> previousSet = currentTileOverlays != null
? currentTileOverlays.values.toSet()
: <TileOverlay>{};
final updates = _TileOverlayUpdates.from(previousSet, newTileOverlays);
_tileOverlays[mapId] = keyTileOverlayId(newTileOverlays);
return _hostApi(mapId).updateTileOverlays(
updates.tileOverlaysToAdd
.map(_platformTileOverlayFromTileOverlay)
.toList(),
updates.tileOverlaysToChange
.map(_platformTileOverlayFromTileOverlay)
.toList(),
updates.tileOverlayIdsToRemove
.map((TileOverlayId id) => id.value)
.toList(),
);
}