TileOverlayUpdates.update constructor
TileOverlayUpdates.update(
- Set<
TileOverlay> previous, - Set<
TileOverlay> current
Implementation
TileOverlayUpdates.update(
Set<TileOverlay> previous, Set<TileOverlay> current) {
final Map<TileOverlayId, TileOverlay> oldTileOverlays =
tileOverlayToMap(previous);
final Map<TileOverlayId, TileOverlay> currTileOverlays =
tileOverlayToMap(current);
final Set<TileOverlayId> oldIds = oldTileOverlays.keys.toSet();
final Set<TileOverlayId> currIds = currTileOverlays.keys.toSet();
final Set<TileOverlayId> _toDelete = oldIds.difference(currIds);
final Set<TileOverlay> _toInsert = Set<TileOverlay>.from(
currIds.difference(oldIds).map((id) => currTileOverlays[id]).toSet());
final Set<TileOverlay> _toUpdate = Set<TileOverlay>.from(currIds
.intersection(oldIds)
.map((id) => currTileOverlays[id])
.where((x) => isChanged(x!, oldTileOverlays))
.toSet());
insertSet = _toInsert;
deleteSet = _toDelete;
updateSet = _toUpdate;
}