コード例 #1
0
 public void applyAndSync(
     Bbox bounds, TileFunction<RasterTile> onDelete, TileFunction<RasterTile> onUpdate) {
   MapViewState viewState = rasterLayer.getMapModel().getMapView().getViewState();
   boolean panning = lastViewState == null || viewState.isPannableFrom(lastViewState);
   if (!panning || isDirty()) {
     for (RasterTile tile : tiles.values()) {
       onDelete.execute(tile);
     }
     tiles.clear();
     tileBounds = null;
     dirty = false;
   }
   lastViewState = rasterLayer.getMapModel().getMapView().getViewState();
   if (tileBounds == null || !tileBounds.contains(bounds)) {
     fetchAndUpdateTiles(bounds, onUpdate);
   } else {
     updateTiles(bounds, onUpdate);
   }
 }