ArcGISTiledLayer QML Type

  • Esri.ArcGISRuntime
  • ArcGISTiledLayer
  • Displays data from a ArcGIS Map service, by using pre-generated tiles. More...

    Import Statement: import Esri.ArcGISRuntime
    Since: Esri.ArcGISRuntime 100.0
    Inherits:

    ImageTiledLayer

    Properties

    Signals

    Detailed Description

    ArcGIS tiled layers consume raster tiles provided by an ArcGIS service or a tile package. Raster tiles are cached by the server at various scales and the client can request the tiles needed at a particular map extent. The client requests the tiles needed at a particular map extent. You can use the ExportTileCacheTask class to generate and download tiles from the service, creating a tile package (.tpk/.tpkx) for use locally on the device. Alternatively, you can use ArcGIS Pro to create a map tile package and provision it to the device. You can tell if an ArcGIS map server is hosting a compatible ArcGISTiledLayer when "Single Fused Map Cache" is true in the ArcGIS REST Services Directory.

    Functional characteristics

    ArcGIS tiled layers do not support re-projection, query, select, identify, or editing.

    Performance characteristics

    Tiled image layers (those that derive functionality from the ImageTiledLayer class) provide fast display of geographic imagery stored in raster files. These rasters typically contain image data acquired from satellite, aircraft, or drones. The resolution of such imagery can be very high, providing a detailed view. With increased resolution comes increased file sizes and potentially slower performance.

    Raster tiling is a process that resamples the pixel size at different scales to create images with the appropriate resolution for each scale. The tiling process creates level-of-detail pyramids to efficiently manage how much detail you see as you zoom in and out on the map. Typically, as you zoom closer to the Earth's surface, you want to see greater detail of the geographic information. Tiled image layers allow you to see just the information you need very quickly based on the level-of-detail pyramid at a particular scale, rather than having to load a single large image at once.

    Tiles are generated by the server when the service is created. Requests for tiles are made on multiple threads and handled asynchronously. The size of each returned tile increases as the resolution increases.

    The number and content of these map tiles is defined by the service's tiling scheme and the map document that the service is based on. The tiling scheme specifies parameters such as tile dimensions, image format, scale levels, and so on. As you navigate the map, the layer fetches new map tiles to be displayed.

    The spatial reference of an ArcGISTiledLayer must match the map's spatial reference. This is necessary because tiled layers display pre-generated map tiles that cannot be reprojected to match a different spatial reference.

    Unlike ArcGISMapImageLayers, you cannot modify properties of an ArcGISTiledLayer to alter map contents. This is because the layer relies on a cached map service that does not create map images on-the-fly like a dynamic map service does.

    Tiles are generated by the server only once when the service is originally created. Requests for tiles are made on multiple threads and handled asynchronously. The size of each returned tile increases as the resolution or complexity of the image in the tile increases. For example, high-resolution imagery tiles can be larger in file size than topographic mapping for the same area and map extent.

    The ArcGISTiledLayer does not support re-projection, query, select, identify, or editing.

    To construct an ArcGISTiledLayer, provide a URL to a map or image service's REST web service endpoint. You should verify that the service is indeed cached by checking that Single Fused Map Cache property in the Services Directory is set to true. An ArcGISTiledLayer will not work with map services that are not cached. Alternatively, you can construct an ArcGISTiledLayer with a TileCache or path to a local tile cache.

    The precedence order of the following properties is as follows:

    Warning: Either a URL to a local tile cache or an actual TileCache object can be used to initialize an ArcGISTiledLayer. Both should not be assigned.

    Default properties

    This QML type supports the following default properties. A default property may be declared inside another declared object without being assigned explicitly to a property.

    Example:

    Create an ArcGISTiledLayer from a URL to the REST endpoint of a tiled map service:

    Basemap {
        // Nest the ArcGISTiledLayer to add it as one of the Basemap's baseLayers
        ArcGISTiledLayer {
            url: "https://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer"
        }
    }

    Alternatively, you can display tiles offline by creating an ArcGISTiledLayer from a local tile package (*.tpk):

    Basemap {
        ArcGISTiledLayer {
            TileCache {
                path: dataPath + "tpkx/SanFrancisco.tpkx"
            }
        }
    }

    See samples: ArcGIS tiled layer (URL), Export tiles

    See also ApiKeyResource, Cancelable, LayerContent, Loadable, RemoteResource, Layer, and ImageTiledLayer.

    Property Documentation

    [since Esri.ArcGISRuntime 100.10] apiKey : string

    Returns the API key.

    This property was introduced in Esri.ArcGISRuntime 100.10.

    See also ApiKeyResource.


    [default] credential : Credential

    The credential used to access a secured tiled service.

    The credential cannot be changed after the layer is loaded.


    [default] item : ArcGISItem

    The item used to initialize the layer.

    The item cannot be changed after the layer is loaded.


    [read-only] mapServiceInfo : ArcGISMapServiceInfo


    [since Esri.ArcGISRuntime 100.1] refreshInterval : int

    The refresh interval used by the layer in milliseconds.

    Layers request tiles from the service each time this interval elapses.

    A value of 0 means to never refresh.

    Note: The value is treated as unsigned and cannot be negative.

    This property was introduced in Esri.ArcGISRuntime 100.1.


    [default, since Esri.ArcGISRuntime 100.1] requestConfiguration : RequestConfiguration

    The configuration parameters used for network requests sent by this layer.

    This property was introduced in Esri.ArcGISRuntime 100.1.


    [default] tileCache : TileCache

    The TileCache of the layer.

    The tile cache cannot be changed after the layer is loaded.


    [read-only] tiledSublayers : list<ArcGISSublayer>

    Returns a list of the sublayers contained in the service (read-only).

    This property may be populated after the layer loads.


    url : url

    The URL of the layer.

    The URL can be to either an online service or a local tile cache. If the specified URL is a portal item URL the underlying PortalItem will be created and accessible through Layer::item.

    The URL cannot be changed after the layer is loaded.


    Signal Documentation

    [since Esri.ArcGISRuntime 100.10] apiKeyChanged()

    Emitted when the apiKey property changes.

    Note: The corresponding handler is onApiKeyChanged.

    This signal was introduced in Esri.ArcGISRuntime 100.10.

    See also ApiKeyResource.


    credentialChanged()

    Emitted when the credential property changes.

    Note: The corresponding handler is onCredentialChanged.


    mapServiceInfoChanged()

    Emitted when the mapServiceInfo property changes.

    Note: The corresponding handler is onMapServiceInfoChanged.


    [since Esri.ArcGISRuntime 100.1] refreshIntervalChanged()

    Emitted when the refreshInterval property changes.

    Note: The corresponding handler is onRefreshIntervalChanged.

    This signal was introduced in Esri.ArcGISRuntime 100.1.


    [since Esri.ArcGISRuntime 100.1] requestConfigurationChanged()

    Emitted when the requestConfiguration property changes.

    Note: The corresponding handler is onRequestConfigurationChanged.

    This signal was introduced in Esri.ArcGISRuntime 100.1.


    tileCacheChanged()

    Emitted when the tileCache property changes.

    Note: The corresponding handler is onTileCacheChanged.


    tiledSublayersChanged()

    Emitted when the tiledSublayers property changes.

    Note: The corresponding handler is onTiledSublayersChanged.


    urlChanged()

    Emitted when the url property changes.

    Note: The corresponding handler is onUrlChanged.


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