Class TileManager

java.lang.Object
org.oscim.layers.tile.TileManager

public class TileManager extends Object
  • Field Details

  • Constructor Details

    • TileManager

      public TileManager(Map map, int cacheLimit)
  • Method Details

    • setZoomTable

      public void setZoomTable(int[] zoomTable)
    • setZoomThresholds

      public void setZoomThresholds(float down, float up)
      TESTING: avoid flickering when switching zoom-levels: 1.85, 1.15 seems to work well
    • getTile

      public MapTile getTile(int x, int y, int z)
    • init

      public void init()
    • update

      public boolean update(MapPosition pos)
      1. Update mCurrentTiles TileSet of currently visible tiles. 2. Add not yet loaded (or loading) tiles to JobQueue. 3. Manage cache
      Parameters:
      pos - current MapPosition
    • clearJobs

      public void clearJobs()
    • hasTileJobs

      public boolean hasTileJobs()
    • getTileJob

      public MapTile getTileJob()
    • getActiveTiles

      public boolean getActiveTiles(TileSet tileSet)
      Retrieve a TileSet of current tiles. Tiles remain locked in cache until the set is unlocked by either passing it again to this function or to releaseTiles.
      Parameters:
      tileSet - to be updated
      Returns:
      true if TileSet has changed
    • jobCompleted

      public void jobCompleted(MapTile tile, QueryResult result)
      Called by TileLoader thread when tile is loaded.
      Parameters:
      tile - Tile ready for upload in TileRenderLayer
    • getTile

      public MapTile getTile(int tileX, int tileY, byte zoomLevel)
    • setZoomLevel

      public void setZoomLevel(int zoomLevelMin, int zoomLevelMax)
    • addZoomLimit

      public void addZoomLimit(int zoomLimit)
      Allow loading tiles at specified zoom if higher zoom levels are requested.
    • removeZoomLimit

      public void removeZoomLimit(int zoomLimit)
      Remove zoom limit. Tiles of that zoom level won't be requested anymore on higher zoom levels.