Provided by: tcllib_1.21+dfsg-1_all bug

NAME

       map::slippy::cache - Management of a tile cache in the local filesystem

SYNOPSIS

       package require Tcl  8.4

       package require Tk  8.4

       package require img::png

       package require map::slippy

       package require map::slippy::cache  ?0.2?

       ::map::slippy::cache cacheName cachedir provider

       cacheName valid tile ?msgvar?

       cacheName exists tile

       cacheName get tile donecmd

_________________________________________________________________________________________________

DESCRIPTION

       This  package  provides a class for managing a cache of tiles for slippy-based maps in the
       local filesystem.

API

       ::map::slippy::cache cacheName cachedir provider
              Creates the cache cacheName and configures it with both the path to  the  directory
              contaiing the locally cached tiles (cachedir), and the command prefix from which it
              will pull tiles asked for and not yet known to the cache itself (provider).

              The result of the command is cacheName.

   METHODS
       cacheName valid tile ?msgvar?
              This method checks the validity  of  a  the  given  tile  identifier.   This  is  a
              convenience wrapper to ::map::slippy tile valid and has the same interface.

       cacheName exists tile
              This methods tests whether the cache contains the specified tile or not. The result
              is a boolean value, true if the tile is known, and false  otherwise.  The  tile  is
              identified by a list containing three elements, zoom level, row, and column number,
              in this order.

       cacheName get tile donecmd
              This is the main method of the cache, retrieving the image for the  specified  tile
              from  the  cache. The tile identifier is a list containing three elements, the zoom
              level, row, and column number of the tile, in this order.

              The command refix donecmd will be invoked when the cache either knows the image for
              the  tile or that no image will forthcoming.  It will be invoked with either 2 or 3
              arguments, i.e.

              [1]    The string set, the tile, and the image.

              [2]    The string unset, and the tile.

              These two possibilities are used to either signal the image for the tile,  or  that
              the tile has no image defined for it.

              When  the  cache  has  no  information  about  the tile it will invoke the provider
              command prefix specified during  its  construction,  adding  three  arguments:  The
              string  get, the tile, and a callback into the cache. The latter will be invoked by
              the provider to either transfer the image to the cache, or signal that the tile has
              no image.

              When  multiple  requests for the same tile are made only one request will be issued
              to the provider.

REFERENCES

       [1]    http://wiki.openstreetmap.org/wiki/Main_Page

KEYWORDS

       cache, filesystem, location, map, slippy, tile, zoom