ArcGIS Runtime SDK for iOS
100.15
|
Gives access to the individual parameters objects that will generate the various geodatabase, vector tile and tile cache packages that make up the data of an offline map.
This object allows the user more fine-grained control over the generation of an offline map than the options presented in the standard AGSGenerateOfflineMapParameters
. For example, the parameters overrides allow the user to adjust specific layers so that they: use a different spatial extent or scale range; use custom attribute or geometry settings; are omitted from the download. An instance of this object can be created from the overall map settings in AGSGenerateOfflineMapParameters
by calling generateOfflineMapParameterOverridesWithParameters:completion: (AGSOfflineMapTask)
. This object gives access to the individual parameter objects via three dictionaries containing generate geodatabase parameters, export tile cache parameters and export vector tile parameters. These can be accessed using AGSGenerateOfflineMapParameterOverrides::generateGeodatabaseParameters
, AGSGenerateOfflineMapParameterOverrides::exportTileCacheParameters
and AGSGenerateOfflineMapParameterOverrides::exportVectorTilesParameters
respectively. The dictionaries contain the various parameters objects mapped against an AGSOfflineMapParametersKey
instance. An AGSOfflineMapParametersKey
instance represents the service that a particular parameters object is intended for. Given a layer or table or utility network, a key to find its matching parameters object can be constructed with initWithLayer: (AGSOfflineMapParametersKey)
, initWithServiceFeatureTable: (AGSOfflineMapParametersKey)
and initWithUtilityNetwork: (AGSOfflineMapParametersKey)
respectively. The returned key's AGSOfflineMapParametersKey::type
property will indicate which of the three dictionaries contains the desired parameters object and the key can be used to extract it. Note that a given parameters key/value pair may be shared by multiple layers in the map: for example, a single AGSGenerateGeodatabaseParameters
instance could represent the online settings for multiple feature layers that all access the same underlying feature service. All entries in the dictionaries should correspond to layers and table instances in the online AGSMap
. If a dictionary entry is removed, the corresponding layers or tables will be removed from the offline map without raising an error.
Properties | |
NSDictionary< AGSOfflineMapParametersKey *, AGSExportTileCacheParameters * > * | exportTileCacheParameters |
NSDictionary< AGSOfflineMapParametersKey *, AGSExportVectorTilesParameters * > * | exportVectorTilesParameters |
NSDictionary< AGSOfflineMapParametersKey *, AGSGenerateGeodatabaseParameters * > * | generateGeodatabaseParameters |
NSArray< AGSLayer * > * | onlineLayers |
NSArray< AGSServiceFeatureTable * > * | onlineTables |
|
readwritenonatomiccopy |
The dictionary of AGSExportTileCacheParameters
, which can be changed or overridden for taking a map offline. All entries in the dictionary should correspond to AGSArcGISTiledLayer
instances in the online AGSMap
. If a dictionary entry is removed the corresponding layers will be removed from the offline map without raising an error.
|
readwritenonatomiccopy |
The dictionary of AGSExportVectorTilesParameters
, which can be changed or overridden for taking a map offline. All entries in the dictionary should correspond to AGSArcGISVectorTiledLayer
instances in the online AGSMap
. If a dictionary entry is removed the corresponding layers will be removed from the offline map without raising an error.
|
readwritenonatomiccopy |
The dictionary of AGSGenerateGeodatabaseParameters
, which can be changed or overridden for taking a map offline. All entries in the dictionary should correspond to AGSFeatureLayer
and AGSServiceFeatureTable
instances in the online AGSMap
. If a dictionary entry is removed the corresponding layers or tables will be removed from the offline map without raising an error.
|
readwritenonatomiccopy |
This array indicates layers that will not be taken offline and will continue to reference online services.
In some situations, you may wish to prevent a layer from being taken offline even though it is supported. For example, by continuing to reference the live online service for an AGSFeatureLayer
, you can benefit from the most up-to-date information. You can choose to keep layers from the map's operational layers or basemap layers collections online.
To make the offline map continue to reference an online layer add it to the AGSGenerateOfflineMapParameterOverrides::onlineLayers
array. By adding an AGSLayer
to this list, you indicate that the layer will not be taken offline but will instead continue to reference the online service. Be aware that the resulting offline map will require a network connection and may also require authentication.
Note that if an AGSLayer
is included in this array it will not be taken offline - you should update the relevant parameters to remove the details pertaining to that layer:
AGSGenerateOfflineMapParameterOverrides::exportTileCacheParameters
can be removed to prevent an AGSArcGISTiledLayer
from being taken offline. AGSGenerateOfflineMapParameterOverrides::exportVectorTilesParameters
can be removed to prevent an AGSArcGISVectorTiledLayer
from being taken offline. AGSGenerateOfflineMapParameterOverrides::generateGeodatabaseParameters
can be removed for an entire feature service or updated to remove an individual AGSFeatureLayer
using AGSGenerateGeodatabaseParameters::layerOptions
.If a feature service contains many tables in the web map, you can choose to keep specific layers online by adding them to the AGSGenerateOfflineMapParameterOverrides::onlineLayers
array and updating the AGSGenerateOfflineMapParameterOverrides::generateGeodatabaseParameters
to remove the specific layers. Any remaining feature layers or stand-alone tables that you wish to take offline can be configured using the AGSGenerateGeodatabaseParameters::layerOptions
for the service in AGSGenerateOfflineMapParameterOverrides::generateGeodatabaseParameters
.
When you create an AGSGenerateOfflineMapParameterOverrides
object, this array will be populated according to the AGSGenerateOfflineMapParameters::onlineOnlyServicesOption
setting in the original parameters.
AGSGenerateOfflineMapParameters::onlineOnlyServicesOption
to AGSOnlineOnlyServicesOptionExclude
then this array will be empty. AGSGenerateOfflineMapParameters::onlineOnlyServicesOption
to AGSOnlineOnlyServicesOptionInclude
then this array will contain each online-only AGSLayer
in the web map. For example, layers that cannot be taken offline. AGSGenerateOfflineMapParameters::onlineOnlyServicesOption
to AGSOnlineOnlyServicesOptionUseAuthoredSettings
then this array will contain each AGSLayer
that the web map author selected to remain online.
|
readwritenonatomiccopy |
This array indicates tables that will not be taken offline and will continue to reference online services.
In some situations, you may wish to prevent a non-spatial table from being taken offline even though it is supported. For example, by continuing to reference the live online AGSServiceFeatureTable
, you can benefit from the most up-to-date information.
To make the offline map continue to reference an online table, you add it to the AGSGenerateOfflineMapParameterOverrides::onlineTables
array. By adding an AGSServiceFeatureTable
to this list, you indicate that the table will not be taken offline and it will continue to reference the online source. Be aware that the resulting offline map will require a network connection and may require authentication.
Note that if an AGSServiceFeatureTable
is included in this array it will not be taken offline - you should update the AGSGenerateOfflineMapParameterOverrides::generateGeodatabaseParameters
to remove that table.
If a feature service contains many layers in the web map, you can choose to keep specific tables online by adding them to the AGSGenerateOfflineMapParameterOverrides::onlineTables
array. Any remaining tables that you wish to take offline can be configured using the service's AGSGenerateGeodatabaseParameters::layerOptions
in the AGSGenerateOfflineMapParameterOverrides::generateGeodatabaseParameters
.
When you create an AGSGenerateOfflineMapParameterOverrides
object, this array will be populated according to the AGSGenerateOfflineMapParameters::onlineOnlyServicesOption
setting in the original parameters.
AGSGenerateOfflineMapParameters::onlineOnlyServicesOption
to AGSOnlineOnlyServicesOptionExclude
then this array will be empty. AGSGenerateOfflineMapParameters::onlineOnlyServicesOption
to AGSOnlineOnlyServicesOptionInclude
then this array will contain each online-only AGSServiceFeatureTable
in the web map. For example, layers that cannot be taken offline. because they are not sync-enabled. AGSGenerateOfflineMapParameters::onlineOnlyServicesOption
to AGSOnlineOnlyServicesOptionUseAuthoredSettings
, then this array will contain each AGSServiceFeatureTable
that the web map author selected to remain online.