TileInfo

AMD: require(["esri/layers/support/TileInfo"], (TileInfo) => { /* code goes here */ });
ESM: import TileInfo from "@arcgis/core/layers/support/TileInfo.js";
Class: esri/layers/support/TileInfo
Inheritance: TileInfo Accessor
Since: ArcGIS Maps SDK for JavaScript 4.0

Contains information about the tiling scheme for TileLayers, ElevationLayers, ImageryTileLayers, VectorTileLayers, and WebTileLayers.

TileInfo defines properties such as tile format, the level of details (LOD) at which the cache has tiles, the size of the tiles in pixels, and the screen resolution for which the tiles are intended to be most commonly displayed.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
Show inherited properties Hide inherited properties
Name Type Summary Class
String

The name of the class.

more details
Accessor
Number

The dots per inch (DPI) of the tiling scheme.

more details
TileInfo
String

Image format of the cached tiles.

more details
TileInfo
Boolean

Indicates if the tiling scheme supports wrap around.

more details
TileInfo
LOD[]

An array of levels of detail that define the tiling scheme.

more details
TileInfo
Point

The tiling scheme origin.

more details
TileInfo
Number[]

Size of tiles in pixels.

more details
TileInfo
SpatialReference

The spatial reference of the tiling schema.

more details
TileInfo

Property Details

declaredClass Stringreadonly inherited
Since: ArcGIS Maps SDK for JavaScript 4.7

The name of the class. The declared class name is formatted as esri.folder.className.

dpi Number

The dots per inch (DPI) of the tiling scheme. If a DPI is chosen that does not match the resolution of the output device, the scale of the map tile will appear incorrect. The default value is 96.

Default Value:96
format String

Image format of the cached tiles.

Possible Values:"png"|"png24"|"png32"|"jpg"|"dib"|"tiff"|"emf"|"ps"|"pdf"|"gif"|"svg"|"svgz"|"mixed"|"lerc"|"pbf"

isWrappable Boolean
Since: ArcGIS Maps SDK for JavaScript 4.5

Indicates if the tiling scheme supports wrap around.

Autocasts from Object[]

An array of levels of detail that define the tiling scheme.

origin Pointautocast

The tiling scheme origin. The upper left corner of the tiling scheme, in coordinates of the spatial reference of the source data.

size Number[]

Size of tiles in pixels.

Example
// sets the height and width of each tile to [ 256, 256 ]
tileInfo.size = 256;
spatialReference SpatialReferenceautocast

The spatial reference of the tiling schema.

Method Overview

Show inherited methods Hide inherited methods
Name Return Type Summary Class

Adds one or more handles which are to be tied to the lifecycle of the object.

more details
Accessor
TileInfo

A convenience method used to create a new TileInfo instance with preset properties like LODs.

more details
TileInfo
*

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product.

more details
TileInfo
Boolean

Returns true if a named group of handles exist.

more details
Accessor

Removes a group of handles owned by the object.

more details
Accessor
Number

Utility method used to convert a scale value to its corresponding zoom value.

more details
TileInfo
Object

Converts an instance of this class to its ArcGIS portal JSON representation.

more details
TileInfo
Number

Utility method used to convert a zoom value to its corresponding scale value.

more details
TileInfo

Method Details

addHandles(handleOrHandles, groupKey)inherited
Since: ArcGIS Maps SDK for JavaScript 4.25

Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

this.addHandles(handle);

// Destroy the object
this.destroy();
Parameters
handleOrHandles WatchHandle|WatchHandle[]

Handles marked for removal once the object is destroyed.

groupKey *
optional

Key identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.

create(options){TileInfo}static

A convenience method used to create a new TileInfo instance with preset properties like LODs. Optionally, properties such as size, scales[], and a SpatialReference can also be set to calculate LODs for each TileInfo. This is useful in cases where the default amount of LODs provided are not sufficient. For example, if wanting to set the view's scale 1:1, additional LODs must be created. An example of setting this scale and creating additional LODs is provided in the example snippet below.

Parameters
Specification
options Object
optional

An object that contains the size, scales, and/or SpatialReference used to compute the new TileInfo instance.

Specification
size Number
optional
Default Value: 256

The size of each tile in pixels.

numLODs Number
optional
Default Value: 24

Total number of LODs to create.

spatialReference SpatialReference
optional
Default Value: WebMercator

The spatial reference for the new TileInfo instance. If the spatial reference is not WGS84 nor WebMercator, the origin of the TileInfo is 0.0.

scales Number[]
optional
Default Value: The scales provided by ArcGIS Online basemaps

An array of scale values to use for the TileInfo. If none are specified, the scales from the ArcGIS Online basemaps are used from level 0 through 24.

Returns
Type Description
TileInfo A new TileInfo instance. The scales determine what LODs to create. The DPI defaults to 96 and currently cannot be modified.
See also
Examples
// This snippet shows how to create a TileInfo instance using the default
// settings and passing its resulting LODs to a MapView's constraints

let view = new MapView({
  container: "viewDiv",
  map: map,
  constraints: {
    lods: TileInfo.create().lods
  }
});
// This snippet shows how to set the MapView scale 1:1 while generating additional LODs for the MapView.constraints.
const spatialReference = new SpatialReference({
  wkid: 2154
});

const center = new Point({
  x: 0,
  y: 0,
  spatialReference
});

// Create LODs from level 0 to 31
const tileInfo = TileInfo.create({
  spatialReference,
  numLODs: 32
});

const lods = tileInfo.lods;

let view = new MapView({
  container: "viewDiv",
  map,
  scale: 1,
  center,
  spatialReference,
  constraints: {
    lods: lods,
    snapToZoom: false
  }
});
fromJSON(json){*}static

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

Parameter
json Object

A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

Returns
Type Description
* Returns a new instance of this class.
hasHandles(groupKey){Boolean}inherited
Since: ArcGIS Maps SDK for JavaScript 4.25

Returns true if a named group of handles exist.

Parameter
groupKey *
optional

A group key.

Returns
Type Description
Boolean Returns true if a named group of handles exist.
Example
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
Since: ArcGIS Maps SDK for JavaScript 4.25

Removes a group of handles owned by the object.

Parameter
groupKey *
optional

A group key or an array or collection of group keys to remove.

Example
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");
scaleToZoom(scale){Number}

Utility method used to convert a scale value to its corresponding zoom value.

Parameter
scale Number

The scale value to convert.

Returns
Type Description
Number The returned zoom value.
Example
// get the zoom value for the vector tile layer at the given scale
// then set the view.zoom to match layer's zoom level.
view.when(function(){
  view.zoom = layer.tileInfo.scaleToZoom(9027);
});
toJSON(){Object}

Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.

Returns
Type Description
Object The ArcGIS portal JSON representation of an instance of this class.
zoomToScale(zoom){Number}

Utility method used to convert a zoom value to its corresponding scale value.

Parameter
zoom Number

The zoom value to convert.

Returns
Type Description
Number The returned scale value.
Example
// get the scale value for the vector tile layer at the view zoom level
// then set the view.scale to match layer's scale.
view.when(function(){
  view.scale = vectorLayer.tileInfo.zoomToScale(view.zoom);
});

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.