Skip To Content ArcGIS for Developers Sign In Dashboard

ArcGISMapImageLayer QML Type

A layer based on a dynamic ArcGIS Map service. More...

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

ImageAdjustmentLayer

Properties

Signals

Methods

Detailed Description

Displays data from an ArcGIS Map Service by using dynamically generated map images.

A map service can contain multiple layers, rendered by the server each time a request is made and returned to the client as a single raster image. While the image itself does not contain information about the features it displays, you can get the underlying data (service feature table) for each sublayer. This layer supports time-based filtering.

Set the URL of the service using a constructor parameter. To use this layer outside of a map, such as to read the map service metadata, call the load method. Use the layer's Loadable signals to determine when the layer is ready, and check the loaded status before using the layer.

Functional characteristics

Map images are created and returned by the server on every request, so they always show the latest data at the time of the request. Characteristics of the image, such as brightness, contrast, gamma, and opacity, can be specified. You can also control the visibility and symbols of sublayers, and filter data with layer definition expressions. The spatial reference can be changed from the service's default and the service will re-project each image on the fly.

You can access the underlying service feature table for each map image sublayer (or for non-spatial tables used in the service). These tables can be queried using any valid combination of attribute, spatial, and temporal criteria. You can also query for summary statistics, or to find related features in other tables.

Performance characteristics

The map service creates map images on the fly. Rendering time depends on the amount and complexity of the data in the map. This will typically be slower than fetching the equivalent map as pre-rendered tiles. Because the server renders the map, map image layers require less processing time on the client than similar maps rendered locally.

ArcGIS map image layers are good candidates for showing features that change periodically over time, or that require some sort of filtering by the user. Although rendering occurs on the server, the client has access to service feature tables for all sublayers (as well as non-spatial tables and relationships).

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.

TypeDefault Property
ArcGISSublayermapImageSublayers (appends to model)
Credentialcredential
ArcGISItemitem
RequestConfigurationrequestConfiguration (since Esri.ArcGISRuntime 100.1)

Example:

Create an ArcGISMapImageLayer from a URL to the REST endpoint of a dynamic map service:

ArcGISMapImageLayer {
    id: legendLayer
    url: Utils.url("WorldStreetMap", Utils.UrlReturnTypeEnum.MOCKED) // e.g. "http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer"
}

Alternatively, you can create an ArcGISMapImageLayer from a Portal item:

ArcGISMapImageLayer {
    id: fromItem
    PortalItem {
        url: Utils.url("SharingAlaska", Utils.UrlReturnTypeEnum.LIVE) // e.g. "http://www.arcgis.com/sharing/rest/content/items/a549a255389940b4aa40ea11d77325d2"
    }
}

For samples, see:

See also Cancelable, LayerContent, Loadable, RemoteResource, TimeAware, Layer, and ImageAdjustmentLayer.

Property Documentation

[default] credential : Credential

The credential used to access a secured map service.

The credential cannot be changed after the layer is loaded.


fullTimeExtent : TimeExtent

Returns the full time extent of the time aware layer (read-only).

Note: This property is only available after the time aware layer is loaded.

This property was introduced in Esri.ArcGISRuntime 100.3.

See also TimeExtent.


geodatabaseVersion : string

The geodatabaseVersion of the layer.


imageFormat : Enums.MapServiceImageFormat


[default] item : ArcGISItem

The item used to initialize the layer.

The item cannot be changed after the layer is loaded.


loadTablesAndLayersStatus : Enums.TaskStatus

Returns the status of the loadTablesAndLayers operation (read-only).

This property was introduced in Esri.ArcGISRuntime 100.3.

See also Enums.TaskStatus.


[default] mapImageSublayers : ArcGISSublayerListModel

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

This property may be populated after the layer loads.


mapServiceInfo : ArcGISMapServiceInfo

Returns information about the service (read-only).

Note, map service information can only be obtained after the layer is loaded.


refreshInterval : int

The refresh interval used by the layer in milliseconds.

Layers request images 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] requestConfiguration : RequestConfiguration

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

This property was introduced in Esri.ArcGISRuntime 100.1.


supportsTimeFiltering : bool

Returns whether the time aware layer supports filtering its contents by time values (read-only).

This property was introduced in Esri.ArcGISRuntime 100.3.


tables : list<ServiceFeatureTable>

The list of (non-spatial) tables in the map image layer (read-only).

This property was introduced in Esri.ArcGISRuntime 100.3.


timeFilteringEnabled : bool

Returns whether the time aware layer participates in filtering based on the time extent of its geo view.

This property was introduced in Esri.ArcGISRuntime 100.3.


timeInterval : TimeValue

Returns a time interval that represents the suggested step size for use when manipulating the time extent (read-only).

This information can be used to set the step size for a time slider control.

Note: This property is only available after the time aware layer is loaded.

This property was introduced in Esri.ArcGISRuntime 100.3.

See also TimeValue.


timeOffset : TimeValue

The time offset of the time aware layer.

The time offset is subtracted from the time extent set on the time aware layer's geo view. This can be used to overlay data from different periods of time for comparison.

Note: This property is only available after the layer is loaded.

This property was introduced in Esri.ArcGISRuntime 100.3.

See also TimeValue.


url : url

The URL of the layer.

The URL cannot be changed after the layer is loaded.


Signal Documentation

credentialChanged()

Emitted when the credential property changes.

Note: The corresponding handler is onCredentialChanged.


fullTimeExtentChanged()

Emitted when the fullTimeExtent property changes.

Note: The corresponding handler is onFullTimeExtentChanged.

This signal was introduced in Esri.ArcGISRuntime 100.3.


geodatabaseVersionChanged()

Emitted when the geodatabaseVersion property changes.

Note: The corresponding handler is onGeodatabaseVersionChanged.


imageFormatChanged()

Emitted when the imageFormat property changes.

Note: The corresponding handler is onImageFormatChanged.


loadTablesAndLayersStatusChanged()

Emitted when the loadTablesAndLayersStatus property changes.

Note: The corresponding handler is onLoadTablesAndLayersStatusChanged.

This signal was introduced in Esri.ArcGISRuntime 100.3.


mapImageSublayersChanged()

Emitted when the mapImageSublayers property changes.

Note: The corresponding handler is onMapImageSublayersChanged.


mapServiceInfoChanged()

Emitted when the mapServiceInfo property changes.

Note: The corresponding handler is onMapServiceInfoChanged.


refreshIntervalChanged()

Emitted when the refreshInterval property changes.

Note: The corresponding handler is onRefreshIntervalChanged.

This signal was introduced in 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.


supportsTimeFilteringChanged()

Emitted when the supportsTimeFiltering property changes.

Note: The corresponding handler is onSupportsTimeFilteringChanged.

This signal was introduced in Esri.ArcGISRuntime 100.3.


tablesChanged()

Emitted when the tables property changes.

Note: The corresponding handler is onTablesChanged.

This signal was introduced in Esri.ArcGISRuntime 100.3.


timeFilteringEnabledChanged()

Emitted when the timeFilteringEnabled property changes.

Note: The corresponding handler is onTimeFilteringEnabledChanged.

This signal was introduced in Esri.ArcGISRuntime 100.3.


timeIntervalChanged()

Emitted when the timeInterval property changes.

Note: The corresponding handler is onTimeIntervalChanged.

This signal was introduced in Esri.ArcGISRuntime 100.3.


timeOffsetChanged()

Emitted when the timeOffset property changes.

Note: The corresponding handler is onTimeOffsetChanged.

This signal was introduced in Esri.ArcGISRuntime 100.3.


urlChanged()

Emitted when the url property changes.

Note: The corresponding handler is onUrlChanged.


Method Documentation

string loadTablesAndLayers()

Starts a task to load all of the map service's sublayers and non-spatial tables.

Returns a task ID that can be used to cancel the loadTablesAndLayers task.

This method was introduced in Esri.ArcGISRuntime 100.3.


void resetSublayers()

Resets the sublayers of a map image layer to the default values defined by the service.

Two things might be changed by the reset. The first is that any sublayer properties that have been changed are reset back to what the service defines for those properties. The second is that any sublayers that may have been removed from or added to the layer would be reset back to the original sublayer list specified by the service.

The sublayer hierarchy reverts to its initial state as defined by the service. The image requests issued to display the layer will no longer use the dynamic layer capabilities of the service.

This method was introduced in Esri.ArcGISRuntime 100.1.



Feedback on this topic?