MobileMapPackage class final
A mobile map package.
Mobile map packages allow you to work offline with maps on a mobile device. Each mobile map package can encapsulate one or more map definitions, including their basemap layers, data layers, layer content, layer styles and pop-up definitions. Each mobile map package contains an Item with metadata about the package, such as the description and thumbnail.
You can create a mobile map package using either:
- ArcGIS Pro (from version 1.3). This API version supports any MobileMapPackage up to major version 5. Mobile map packages created with ArcGIS Pro are stored in a single file with an .mmpk extension. Data contained in this mobile map package file cannot be edited. For more information, see the Create Mobile Map Package tool in ArcGIS Pro.
- Use OfflineMapTask.generateOfflineMap to generate and download a mobile map package on-demand, or use OfflineMapTask.downloadPreplannedOfflineMapWithParameters to download a mobile map package prepared as an offline map area by the map author (known as the ahead-of time workflow). Mobile map packages downloaded using the OfflineMapTask are stored in a directory containing an unpacked mobile map package. You can edit feature data contained in this mobile map package and you can synchronize changes with their online feature services. For more information, explore the on-demand and ahead-of-time workflows offered by the OfflineMapTask.
Mobile map packages created with ArcGIS Pro can also include transportation networks, locators, and links to online services. You can choose whether to use:
- A tile package (such as .tpkx or .vtpk) or an online basemap as the GeoModel.basemap.
- A mobile geodatabase (.geodatabase) or an online feature service as one of the GeoModel.operationalLayers. Online services (such as traffic or weather) can provide contextual information for your users. If the mobile map package is going to be used in areas of poor connectivity, however, you must ensure that data critical to your workflow is stored locally on the device.
MobileMapPackage implements the Loadable interface. Once it is loaded, you can access its content and perform the following:
- Determine the version of this package using the MobileMapPackage.version property. This API currently supports mobile map packages up to and including major version 5. If the package is from an unsupported version, it will fail to load.
- Discover whether the mobile map package has expired using the MobileMapPackage.expiration property.
- Access the individual maps and display them in an ArcGISMapViewController.
- Programmatically add, remove, or modify layers by setting a display filter, changing the renderer, or changing the visibility on layers. These changes will not be persisted because mobile map packages are read-only.
- Note: If the mobile map package was created with ArcGIS Pro, you cannot edit its underlying data from feature tables in a mobile map package. However, if you create a FeatureCollectionTable based on the FeatureQueryResult of a FeatureLayer in the mobile map package, you can edit the data in the FeatureCollectionTable.
- Implemented types
- Mixed in types
Constructors
- MobileMapPackage.withFileUri(Uri fileUri)
-
Create a MobileMapPackage with a path.
factory
Properties
- expiration → Expiration?
-
Expiration details for this mobile map package, if provided.
no setter
- fileUri → Uri
-
The path to the mobile map package.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- item → Item?
-
The mobile map package's Item describing metadata about the package.
no setter
- loadError → ArcGISException?
-
The load error.
no setterinherited
- loadStatus → LoadStatus
-
The load status.
no setterinherited
- locatorTask → LocatorTask?
-
A LocatorTask from the mobile map package.
no setter
-
maps
→ List<
ArcGISMap> -
A collection of
ArcGISMap
from the MobileMapPackage.no setter -
onLoadStatusChanged
→ Stream<
LoadStatus> -
A stream that reports changes to the
LoadStatus
.no setterinherited - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- version → String
-
The mobile map package's version.
no setter
Methods
-
cancelLoad(
) → void -
Cancels loading metadata for the object.
inherited
-
close(
) → void - Closes a mobile map package.
-
load(
) → Future< void> -
Loads the metadata for the object asynchronously.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
retryLoad(
) → Future< void> -
Loads or retries loading metadata for the object asynchronously.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited