Skip To Content ArcGIS for Developers Sign In Dashboard

GenerateOfflineMapParameters QML Type

Parameters used for creating a GenerateOfflineMapJob. More...

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

Object

Properties

Signals

Detailed Description

For offline maps, a feature layer is only considered to be editable if all of FeatureTable.canAdd, FeatureTable.canDelete, and FeatureTable.canUpdate return true.

The returnLayerAttachmentOption property and the attachmentSyncDirection property work in conjunction with (and in some cases may override) the value returned by attachmentSyncDirection. The table below shows the valid combinations of values for returnLayerAttachmentOption and attachmentSyncDirection. The notes column explains where the behavior for a given layer may differ from the values set for these properties.

Enums.ReturnLayerAttachmentOptionValid Enums.AttachmentSyncDirectionNote
Enums.ReturnLayerAttachmentOptionNoneEnums.AttachmentSyncDirectionNone
Enums.AttachmentSyncDirectionUpload
Enums.ReturnLayerAttachmentOptionAllLayersEnums.AttachmentSyncDirectionUpload
Enums.AttachmentSyncDirectionBidirectional
Enums.ReturnLayerAttachmentOptionReadOnlyLayersEnums.AttachmentSyncDirectionNoneLayers with attachments will treat this as Enums.AttachmentSyncDirectionBidirectional
AttachmentSyncDirectionUpload
Enums.AttachmentSyncDirectionBidirectionalLayers without attachments will treat this as Enums.AttachmentSyncDirectionNone
Enums.ReturnLayerAttachmentOptionEditableLayersEnums.AttachmentSyncDirectionNoneLayers with attachments will treat this as Enums.AttachmentSyncDirectionBidirectional
Enums.AttachmentSyncDirectionUpload
Enums.AttachmentSyncDirectionBidirectionalLayers without attachments will treat this as Enums.AttachmentSyncDirectionNone

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.

Property Documentation

[default] areaOfInterest : Geometry

The geographic area of interest used to generate the offline map.

The supported geometry types for the area of interest are Envelope and Polygon. The area of interest must have a spatial reference. Where a Polygon is supplied, features and tiles will be filtered according to the polygon geometry, which can help reduce the size of the resulting offline map. Note that the filtered set of tiles may vary, depending on the underlying service.


attachmentSyncDirection : Enums.AttachmentSyncDirection

Specifies the direction for attachments to be synchronized when syncing offline feature layers.

If GenerateOfflineMapParameters is used in conjunction with GenerateOfflineMapParameterOverrides this property is superseded.

See also Enums.AttachmentSyncDirection.


continueOnErrors : bool

Whether or not a generate offline map job should continue running in the event of failure to take a layer offline.

Returns true if the GenerateOfflineMapJob is to continue running in the event of failure.

If this property is true, failure to take a layer or table offline will not fail the job and the failure will be exposed in the job result. If this property is false, failure to take a layer or table offline will fail the job and no more layers or tables will be taken offline. The layer or table's error will be available as the job's error.

The default value is true.

This property was introduced in Esri.ArcGISRuntime 100.4.


definitionExpressionFilterEnabled : bool

Whether layer definition expressions are used when taking features offline.

If true, the GenerateOfflineMapJob applies definition expressions when taking the features offline. If more than one layer uses the same feature service layer, all the definition expressions are combined. If false, definition expressions are not applied and all features are taken offline.

The default value is true.

If GenerateOfflineMapParameters is used in conjunction with GenerateOfflineMapParameterOverrides this property is superseded.

This property was introduced in Esri.ArcGISRuntime 100.3.


destinationTableRowFilter : Enums.DestinationTableRowFilter

Indicates whether tables will contain all rows or can be filtered to a smaller set of related rows.

When the property is Enums.DestinationTableRowFilterRelatedOnly (the default) this can substantially reduce the number of rows in offline tables, to only those that are related to rows from other layers or tables.

Only tables present in the Map are considered as candidates for filtering. This does not apply when the table:

The relationships of a table are accessible via ArcGISFeatureTable::layerInfo and the ArcGISFeatureLayerInfo::relationshipInfos property.

The default value is Enums.DestinationTableRowFilterRelatedOnly.

This property was introduced in Esri.ArcGISRuntime 100.4.

See also Enums.DestinationTableRowFilter.


includeBasemap : bool

Sets whether or not a basemap will be included in the offline map.

If you do not want a basemap in the offline map then set this property to false. After loading the offline map, your application can programmatically insert a basemap into the map. Note that a programmatically inserted basemap will not be persisted in the map.

If you want a basemap in the offline map, then set this property to true. You can choose to either:

The default state is true. This property is superseded if the GenerateOfflineMapParameters is used in conjunction with GenerateOfflineMapParameterOverrides


[default] itemInfo : OfflineMapItemInfo

The offline map item info used for the local item properties in the offline map.


maxScale : double

The maximum scale for how far in to extract tiles from tiled services.

The default value of 0 means extract the levels down to the most detailed.

This is used as the input for the levels of detail in a TileCache. This is not applicable to offline data in a VectorTileCache or a Geodatabase.

A minScale of 100000 and a maxScale of 500 will select level IDs between 1:500 and 1:100,000 scale. A minScale of 0 and a maxScale of 500 will select all global level IDs down to 1:500 scale. A minScale of 100000 and a maxScale of 0 will select level IDs from 1:100,000 scale to the most detailed available level.

If GenerateOfflineMapParameters is used in conjunction with GenerateOfflineMapParameterOverrides, this property is superseded for individual layers tiled services.

Note: This property only sets the levels of detail to download for tiled data. The offline basemap layers will use the same max scale as in the online web map (either defined by the service or on the layer itself) to allow zooming in.


minScale : double

The minimum scale for how far in to extract tiles from tiled services.

The default value of 0 means extract all the available detailed levels to global scales.

This is used as the input for the levels of detail in a TileCache. This is not applicable to offline data in a VectorTileCache or a Geodatabase.

A minScale of 100000 and a maxScale of 500 will select level IDs between 1:500 and 1:100,000 scale. A minScale of 0 and a maxScale of 500 will select all global level IDs down to 1:500 scale. A minScale of 100000 and a maxScale of 0 will select level IDs from 1:100,000 scale to the most detailed available level.

Note: This property only sets the levels of detail to download for tiled data. The offline basemap layers will use the same min scale as in the online web map (either defined by the service or on the layer itself).


onlineOnlyServicesOption : Enums.OnlineOnlyServicesOption

Describes how data that requires an online service will be handled when taking a map offline.

Online layers and tables cannot be taken offline in the following situations:

  • The layer or table is using a service that cannot be taken offline. For example, WmsLayer or WmtsLayer.
  • The layer or table is using a service that supports offline, such as a FeatureLayer, but synchronization has not been enabled on the service (FeatureServiceCapabilities::supportsSync is set to false). Services utilize synchronization to take layers and tables offline and synchronize changes.

Online services that cannot be taken offline are referred to as online-only services. Online-only services require network connectivity and may involve authentication. Examples of online-only services include:

  • Dynamic information, such as changing weather or traffic conditions, that delivers frequent and regular updates to the app.
  • Large datasets that would be impractical to take offline to a device.

This property allows you to specify how online-only data will be handled when taking the map offline. There are two options:

  • Enums.OnlineOnlyServicesOptionExclude means that any data that cannot be taken offline will be omitted from the offline map. Choosing this option means that your offline map will not require a network connection but may not include all of the data from the original web map.
  • Enums.OnlineOnlyServicesOptionInclude means that data that cannot be taken offline will be accessed via the URL in the offline map. Choosing this option means that your offline map will retain all of the information from the original web map, but it will require a network connection and may require authentication.

The default value is Enums.OnlineOnlyServicesOptionExclude.

This property was introduced in Esri.ArcGISRuntime 100.9.


referenceBasemapDirectory : string

The path to a directory on the device where the local basemap file is located.

Set this property to use a basemap which is already on the device (rather than downloading it). The directory should only be set when the parameters have a GenerateOfflineMapParameters::referenceBasemapFilename defined.

This property supports any directory specified as either:

  • An absolute path.
  • A path relative to the parent directory of the resulting mobile map package (the downloadDirectoryPath parameter of OfflineMapTask::generateOfflineMap).

If the directory does not exist, or does not contain the specified basemap, the GenerateOfflineMapJob will fail.

Note that the mobile map package will store either a relative or absolute path to the reference basemap file so that it can be opened in the future.

A relative path typically begins with "." to denote the parent directory of the resulting mobile map package or ".." to move up one directory. The parent directory of the mobile map package will be set when calling OfflineMapTask::downloadPreplannedOfflineMap.

For example, to download a mobile map package to "[my root path]/my_offline_maps/my_mobile_map_package", which uses a reference basemap in "[my root path]/other_maps/my_basemap.tpk", you would set the relative path as follows:

  • GenerateOfflineMapJob::downloadDirectoryPath to "[my root path]/my_offline_maps/my_mobile_map_package".
  • GenerateOfflineMapParameters::setReferenceBasemapDirectory to "../other_maps".
  • GenerateOfflineMapParameters::setReferenceBasemapFilename to "my_basemap.tpk".

Note that this property is ignored if includeBasemap is false.

This property was introduced in Esri.ArcGISRuntime 100.5.


referenceBasemapFilename : string

The name of a local basemap file on the device which can be used rather than downloading an online basemap.

The local basemap filename must end with .tpk, .tpkx or .vtpk since these are the supported file formats. This property can be read directly from settings applied by the author of the online web map or set by user code to a file known to be on the device.

This property can be read directly from settings applied by the author of the online web map (see OfflineSettings) or set by user code to a file known to be on the device. This property will be populated from online settings when created with OfflineMapTask::createDefaultGenerateOfflineMapParameters.

To use the specified local basemap rather than downloading, the referenceBasemapDirectory property must also be set.

If the directory does not exist, or does not contain the specified basemap, GenerateOfflineMapJob will fail.

Note that this property is ignored if includeBasemap is false.

This property was introduced in Esri.ArcGISRuntime 100.5.


returnLayerAttachmentOption : Enums.ReturnLayerAttachmentOption

The type of layers we wish to include attachments with when taking feature layers offline.

Values can indicate to return attachments with none of the layers, all of the layers, only read-only layers, or editable layers.

If GenerateOfflineMapParameters is used in conjunction with GenerateOfflineMapParameterOverrides this property is superseded.

See also Enums.ReturnLayerAttachmentOption.


returnSchemaOnlyForEditableLayers : bool

Whether feature layers taken offline should be schema only and contain no data.

If GenerateOfflineMapParameters is used in conjunction with GenerateOfflineMapParameterOverrides this property is superseded.


updateMode : Enums.GenerateOfflineMapUpdateMode

Describes how the offline map will support synchronization with online services.

A value of Enums.GenerateOfflineMapUpdateModeNoUpdates instructs GenerateOfflineMapJob to disable data synchronization for generated offline geodatabases. In this case no synchronization replicas will be created on corresponding feature services.

A value of Enums.GenerateOfflineMapUpdateModeSyncWithFeatureServices instructs GenerateOfflineMapJob to create offline geodatabases which support syncing with online feature services.

The default value is Enums.GenerateOfflineMapUpdateModeSyncWithFeatureServices.

If GenerateOfflineMapParameters is used in conjunction with GenerateOfflineMapParameterOverrides this property is superseded by the GenerateGeodatabaseParameters::syncModel property of the overridden layer.

This property was introduced in Esri.ArcGISRuntime 100.9.

See also GenerateGeodatabaseParameters::syncModel.


Signal Documentation

areaOfInterestChanged()

Emitted when the areaOfInterest property changes.

Note: The corresponding handler is onAreaOfInterestChanged.


attachmentSyncDirectionChanged()

Emitted when the attachmentSyncDirection property changes.

Note: The corresponding handler is onAttachmentSyncDirectionChanged.


continueOnErrorsChanged()

Emitted when the continueOnErrors property changes.

Note: The corresponding handler is onContinueOnErrorsChanged.

This signal was introduced in Esri.ArcGISRuntime 100.4.


definitionExpressionFilterEnabledChanged()

Emitted when the definitionExpressionFilterEnabled property changes.

Note: The corresponding handler is onDefinitionExpressionFilterEnabledChanged.

This signal was introduced in Esri.ArcGISRuntime 100.3.


destinationTableRowFilterChanged()

Emitted when the destinationTableRowFilter property changes.

Note: The corresponding handler is onDestinationTableRowFilterChanged.

This signal was introduced in Esri.ArcGISRuntime 100.4.


includeBasemapChanged()

Emitted when the includeBasemap property changes.

Note: The corresponding handler is onIncludeBasemapChanged.


itemInfoChanged()

Emitted when the itemInfo property changes.

Note: The corresponding handler is onItemInfoChanged.


maxScaleChanged()

Emitted when the maxScale property changes.

Note: The corresponding handler is onMaxScaleChanged.


minScaleChanged()

Emitted when the minScale property changes.

Note: The corresponding handler is onMinScaleChanged.


onlineOnlyServicesOptionChanged()

Emitted when the onlineOnlyServicesOption property changes.

Note: The corresponding handler is onOnlineOnlyServicesOptionChanged.

This signal was introduced in Esri.ArcGISRuntime 100.9.


referenceBasemapDirectoryChanged()

Emitted when the referenceBasemapDirectory property changes.

Note: The corresponding handler is onReferenceBasemapDirectoryChanged.

This signal was introduced in Esri.ArcGISRuntime 100.5.


referenceBasemapFilenameChanged()

Emitted when the referenceBasemapFilename property changes.

Note: The corresponding handler is onReferenceBasemapFilenameChanged.

This signal was introduced in Esri.ArcGISRuntime 100.5.


returnLayerAttachmentOptionChanged()

Emitted when the returnLayerAttachmentOption property changes.

Note: The corresponding handler is onReturnLayerAttachmentOptionChanged.


returnSchemaOnlyForEditableLayersChanged()

Emitted when the returnSchemaOnlyForEditableLayers property changes.

Note: The corresponding handler is onReturnSchemaOnlyForEditableLayersChanged.


updateModeChanged()

Emitted when the updateMode property changes.

Note: The corresponding handler is onUpdateModeChanged.

This signal was introduced in Esri.ArcGISRuntime 100.9.



Feedback on this topic?