# tilingScheme

type | Object

default

    {
      tileWidth: 256,
      tileHeight: 256,
      levels: 18,
      basePixelSize: 156543.03392799936,
      pixelSizes: null,
      origin: [ -20037508.342787, 20037508.342787 ]
    }

init

`

    $( selector ).geomap( { tilingScheme: {
      tileWidth: 256,
      tileHeight: 256,
      levels: 18,
      basePixelSize: 156543.03392799936,
      pixelSizes: null,
      origin: [ -20037508.342787, 20037508.342787 ]
    } } );

`

get

`

    var tilingScheme = $( selector ).geomap( "option", "tilingScheme" );

`

set

`

    $( selector ).geomap( "option", "tilingScheme", null );

`

The tilingScheme property defines a grid that the geomap widget can use to build a map view as adjacent tiles instead of a single, full image each time.

Only tiled services will get a non-null tile property as an argument to their src method or template. Shingled services, even when layered on top of a tiled map will only get bbox data.

When a tilingScheme is set, the geomap widget will limit the user to specific zoom levels defined by the tiling scheme.

If you set tilingScheme to null, you must explicitly set bboxMax.

Also, if you are using only shingled services you must set tilingScheme to null, and therefore explicitly set bboxMax.

You can set the map widget to be fully dynamic and allow any arbitrary zoom level by setting the tilingScheme to null. This is only useful if all of your services are backed by live spatial data and can produce map images at any scale.

This is one of the few places where you must use non-geodetic (i.e., non-lon/lat) units even if you are using longitude & latitude for properties such as center or bbox. You must use projected units when defining a tiling scheme. The default map tiles use web mercator meters.

All tilingScheme objects have the first three of the following properties. Apart from those, a tilingScheme object must have either just the pixelSizes property or both basePixelSize & levels.

tileWidth (Number) | the width in pixels of a single tile
tileHeight (Number) | the height in pixels of a single tile
origin (Array<Number>) | a GeoJSON position for the top-left corner of the map tiles in map units, this is used to correctly position tiles into the map view
pixelSizes (Array<Number>) | an array of all pixel sizes (called resolutions on Esri's products) hosted by the map service, each one represents a zoom level therefore the total number of zoom levels equals the length of the pixelSizes array
basePixelSize (Number) | the pixelSize represented by the tiles on zoom level 0, used when each pixelSize is a power of two smaller than the previous one
levels (Number) | the total number of pixelSizes allowed, used in conjuction with basePixelSize to determine how far a user is allowed to zoom