Deploy your map

Once your map is ready for use in the field, deploy it to your mobile workers. Share it with them, and then they can either browse to the map in ArcGIS Field Maps or tap a custom link you've sent. When mobile workers need to work offline, they can download maps you've prepared, or they can copy MMPKs directly to their device. Provide your mobile workers with help on using the app by customizing a field guide for your organization's data collection projects or by providing instructions for sharing their location. You can also use mobile device management (MDM) software to deploy and configure the mobile app.

Share your map for use in Field Maps

Field Maps provides access to maps that are either owned by a mobile worker or shared with an ArcGIS organization or group containing the mobile worker. Creating a group is optional, but it can help you manage the mobile workers who have access to your maps and data. For your mobile workers to access your shared map, they must be members of an ArcGIS organization. If your shared map is enabled for editing, they will also need to have the privilege to edit features.

  1. If the mobile workers aren't already members of an ArcGIS organization (either in ArcGIS Online or ArcGIS Enterprise), create accounts for them.
  2. Share the map and layers with the ArcGIS organization or create a group to manage access to your maps and data.

Open your map from a link

Mobile workers can browse to your map in Field Maps, or you can provide a URL directly to it. Make it easy for mobile workers to open the right map and get started on their work by sharing a link directly to your map through an email, text message, web page, or another app. Use links to Field Maps that, when tapped, open Field Maps to the map you want mobile workers to use. If the map is enabled for editing, they can start capturing data when the map opens. If your mobile workers are working offline, the links still work.

Field Maps links

Field Maps links have the following format: https://fieldmaps.arcgis.app?parameter=value&parameter=value, where parameter and value pairs are replaced with the values you want to use to open a map. For example, https://fieldmaps.arcgis.app?referenceContext=center&itemID=3ac4145c1ac44aea86e9ed42e00fbb0d&center=34.0547155,-117.1961714 uses the parameter itemID and the value 3ac4145c1ac44aea86e9ed42e00fbb0d to open the map with that ID. The referenceContext parameter and its value center specify the type of action that should be performed in the app—in this case, centering the map. The center parameter and 34.0547155,-117.1961714 value provide the coordinates at which to center the map.

Parameters

The following parameters are supported with Field Maps links. If no parameters are passed, tapping the link opens Field Maps (or prompts you to open the app).

ParameterValuesNotes

anonymousAccess

Used when calling a map or MMPK that is shared publicly and does not require signing in to access, or when signing in to a portal on Field Maps that allows anonymous access

  • Requires itemID when calling a publicly shared map.
  • Value is a Boolean, true or false.
  • Default is false.

bookmark

Specifies a bookmark from the map

  • Requires itemID and referenceContext=center.
  • Open the map to a specific viewpoint by specifying a bookmark from the map. Encode spaces as +.
  • The link cannot include any parameters other than itemID and bookmark.

callback

The URL to call when capturing the asset or observation is complete

  • Requires itemID, either referenceContext=addFeature, referenceContext=updateFeature, or referenceContext=shareLocation, and featureSourceURL.
  • Optionally, before calling the URL, provide a prompt for the user, specified with the callbackprompt parameter.
  • If passing parameters in the callback URL, each parameter's value must be URL encoded, and then the entire callback URL must be encoded (including encoding the values again).

callbackPrompt

Prompts the mobile worker before running the callback and displays this value in the prompt as where the mobile worker will be taken

  • Requires itemID, either referenceContext=addFeature, referenceContext=updateFeature, or referenceContext=shareLocation, and callback.
  • Value must be URL encoded (spaces can be encoded as + or %20).

center

A set of latitude, longitude (y, x) coordinates at which to center the map

  • Requires itemID and referenceContext=center.
  • The center must be provided as a comma-separated latitude/longitude (y, x) pair in WGS84 (WKID: 4326).

featureAttributes

A JSON dictionary of form entries for the newly captured feature

  • Requires itemID, either referenceContext=addFeature or referenceContext=updateFeature, and featureSourceURL.
  • Specified entries overwrite any existing values.
  • If an entry isn't present in the editable form, or the type of the value provided is incorrect, the entry is ignored.
  • Dates should be represented as a numeric value using milliseconds since epoch time.
  • Entries with an associated coded value domain use the domain code (not domain description).
  • Entries must be URL encoded before being passed to Field Maps.

featureID

Uniquely identifies the feature within the layer to be updated. Must be a GlobalID field.

  • Requires referenceContext=updateFeature.
  • The layer containing the feature must support feature updates.

featureSourceURL

The URL of the layer where capture is instantiated

  • Requires itemID and either referenceContext=addFeature or referenceContext=updateFeature
  • Optionally, provide entries for the form using the featureAttributes parameter.

foreignKeyField

The field in the child table that defines the relationship and receives the key from the parent feature

  • Requires referenceContext=addRelatedFeature, itemID, featureSourceURL, and featureID.

geometry

Defines the location for the newly captured feature

  • Requires itemID, either referenceContext=addFeature or referenceContext=updateFeature, and featureSourceURL.
  • Value is a coordinate containing x, y, and z, or a JSON representation of a geometry (point, line, or polygon).
  • JSON values must be URL encoded.

itemID

The itemID of the map to open

  • Requires referenceContext.
  • The item ID is in the URL of your map's item page. For example, if your map's item page URL is https://www.arcgis.com/home/item.html?id=0c900ae2a1084d27b608233921ef1a84, the map's item ID is 0c900ae2a1084d27b608233921ef1a84.
  • Supported map types include web maps, MMPKs, and offline areas.

locationSharingDuration

Specifies the duration of location sharing in hours

  • Requires referenceContext=shareLocation and locationSharingON=true.
  • The unit is hours, and decimals are supported.

locationSharingON

Specifies whether location sharing is turned on or off

  • Requires referenceContext=shareLocation.
  • Value is a Boolean, true or false.

locationSharingShareLKLOnly

Specifies how location sharing history is stored

  • Requires referenceContext=shareLocation and locationSharingON=true.
  • Value is a Boolean, true or false.
  • If locationSharingLKLOnly is true, location sharing track point history is not stored.

locationSharingUploadLKLFrequency

Specifies the last known location upload frequency

  • Requires referenceContext=shareLocation and locationSharingON=true.
  • Overrides the default setting of 60 seconds.
  • The unit is seconds, and the value must be greater than 5. There is no maximum limit.
  • This setting persists between sessions until the user signs out.
  • The value type is integer.

portalURL

Your organization's portal URL

  • If specified and the mobile worker is signed out or connected to a different portal (including ArcGIS Online), they are prompted to sign out and taken directly to the sign-in screen for your organization and prompted to sign in.
  • Provide the same URL you enter in the browser when you want to access the portal, for example, https://myportal.mycompany.com/arcgis.

referenceContext

What the app should do, if anything, once open and the user is signed in

The following values are supported:

  • addFeature
  • addRelatedFeature
  • center
  • open
  • search
  • shareLocation
  • updateFeature
Note:

If you want to use multiple ReferenceContext values in a single URL, such as open and search, only specify one value—the primary use of the ReferenceContext parameter. For example, specifying search implies that the map is open. See the Field Maps link examples below.

scale

The scale (in map units) at which the map should be rendered

  • Requires itemID and center.

search

An address, place, coordinate, or feature to search for

  • Requires itemID.
  • Encode spaces as +.
  • Features are identified using the same terms used to search for them in the map.

useAntennaHeight

Specifies whether the antenna height of the current receiver is subtracted from the z-value of each vertex of the location

  • Requires itemID, referenceContext=addFeature, geometry, and featureSourceURL.
  • Value is a Boolean, true or false.
  • Default is false.
Note:

Support is coming to Android.

useLocationProfile

Specifies whether the current location profile is used to transform the location

  • Requires itemID, referenceContext=addFeature, geometry, and featureSourceURL.
  • Value is a Boolean, true or false.
  • Default is false.
Note:

Support is coming to Android.

wkid

Specifies center coordinates in a different spatial reference

  • Requires itemID, center, and scale.
  • Defaults to WKID: 4326 (WGS84) if the parameter is not specified.

Continue reading for examples of using these parameters to achieve specific behavior with a Field Maps link.

Open the map

Use the following parameters to open the map:

  • referenceContext=open
  • itemID
  • portalURL (optional)

Supported map types include web maps, MMPKs, and offline areas.

The following are examples:

Access a public map without signing in

Use the following parameters to access a public map:

  • referenceContext=open
  • itemID
  • anonymousAccess=true
  • portalURL (optional)

The following is an example:

  • https://fieldmaps.arcgis.app/?referenceContext=open&itemID=5dce807aeb5c4b33bce767d278df9c3d&anonymousAccess=true

Sign in to a portal that allows anonymous access

Use the following parameters to access a portal that allows anonymous access:

  • anonymousAccess=true
  • portalURL

The following is an example:

  • https://fieldmaps.arcgis.app/?portalURL=https://myportal.mycompany.com/gis&anonymousAccess=true

Center and scale the map

Use the following parameters to specify the center and scale of the specified map instead of using the default map center and scale settings when the map is opened:

  • referenceContext=center
  • itemID
  • center
  • scale (optional)
  • wkid (optional)
  • bookmark (optional)

The default coordinate system is WGS84, but this can be changed by using the wkid parameter.

The following are examples:

Search in a map

Use the following parameters to open the map and search for an address, place, coordinate, or feature (asset or observation):

  • referenceContext=search
  • itemID
  • search

The following are examples:

View a bookmark

Use the following parameters to view the location specified by a bookmark from the map:

  • referenceContext=center
  • itemID
  • bookmark

The following example link opens the map to a bookmark named Centennial Park:

https://fieldmaps.arcgis.app/?referenceContext=center&itemID=0c900ae2a1084d27b608233921ef1a84&bookmark=Centennial+Park

Initiate capturing a feature

Open the map and start capturing a feature using the following parameters. Optionally, provide form entries to apply to the new asset or observation.

  • itemID
  • referenceContext=addFeature
  • featureSourceURL
  • geometry (optional)—If provided, defines the shape of the feature. If not provided, the mobile worker's GPS location is used for the point or the first vertex if a line or polygon.
  • useAntennaHeight (optional)
  • useLocationProfile (optional)
  • featureAttributes (optional)
  • callback (optional)
  • callbackPrompt (optional)
Note:

Support for useAntennaHeight and useLocationProfile in links is coming to Android.

The following are examples:

Initiate updating a feature

Open the map and start updating an existing feature using the following parameters. Optionally, provide form entries to apply to the updated asset or observation.

  • itemID
  • referenceContext=updateFeature
  • featureSourceURL
  • featureID
  • featureAttributes (optional)
  • geometry (optional)
  • callback (optional)
  • callbackPrompt (optional)
Note:

This does not apply to table rows.

The following are examples:

Add a related feature

Open the map and add a new related feature using the following parameters:

  • itemID
  • referenceContext=addRelatedFeature
  • featureSourceURL
  • featureID
  • foreignKeyField

The following example link opens a map and adds a related feature based on the foreign key field name the new feature is associated with:

https://fieldmaps.arcgis.app/?referenceContext=addRelatedFeature&itemID=0c900ae2a1084d27b608233921ef1a84& featureSourceURL=https://services9.arcgis.com/QjGvjfQhsHAmqfjP/arcgis/rest/ services/DamageAssessment_Apr2018_631d0895e7d3404bb78e8e04e92d896e/FeatureServer/ 1&featureID=bb0a0c92-9f53-4367-a6a1-bc6edc605be0&foreignKeyField=FacilityID

Initiate location sharing

Use the following parameters to enable location sharing and set a duration:

  • referenceContext=shareLocation
  • locationSharingON=true
  • locationSharingDuration

The following example link turns location sharing on for 120 hours:

https://fieldmaps.arcgis.app/?referenceContext=shareLocation&locationSharingOn=true&locationSharingDuration=120​

Note:

You can also use a link to turn location sharing off, for example:

https://fieldmaps.arcgis.app/?referenceContext=shareLocation&locationSharingOn=false

Provide a guide for collecting data

While this documentation provides information about using Field Maps, mobile workers collecting data in the field often need something more lightweight—something that can be printed and taken along (especially if working offline). Providing them with a basic, single-page field guide that helps with common tasks and some issues makes your job supporting mobile workers easier. A field guide template focused on common data collection tasks and written for mobile workers is provided. Use it to start creating your own reference for mobile workers.

  1. Download the field guide template..
  2. Customize the guide (add your logo, troubleshooting tips specific to your organization, and so on). Be sure to remove the first section that includes the customization steps.
  3. Provide the guide to mobile workers.

    Mobile workers can keep the guide in their pocket and use it to resolve issues while they're in the field.

Provide instructions for sharing location

If location sharing is required for your organization, it's helpful to provide mobile workers with instructions on how to start sharing their location in Field Maps. A template for location sharing instructions is provided below:

  1. Download the location sharing instructions template..
  2. Follow the instructions in the document to customize the template and share it with mobile workers.

Mobile device management

Mobile device management (MDM) refers to software used for the administration of mobile devices in an organization. An MDM is used to enhance data and network security as well as to set and enforce mobile device policies. Additionally, using an MDM increases the efficiency of app deployments and management for mobile devices, including controlling how and when an app is updated. To learn more about how Esri approaches MDM, see ArcGIS Secure Mobile Implementation Patterns in the ArcGIS Trust Center.

When preparing to deploy Field Maps to your organization's mobile devices through MDM, there are some application and profile settings you may want to configure. These include the portal URL and per-app VPN settings.

Field Maps app configuration

App configuration (also referred to as AppConfig) refers to a format for providing application settings such as portal URL, among others. Instead of configuring these settings manually each time a mobile app is installed, you can use your MDM to specify and apply app configurations automatically. These settings are defined as a dictionary of key-value pairs in an XML file. How the dictionary is created depends on the MDM you're using. To learn more about app configuration, visit the AppConfig Community.

Field Maps has the following settings that can be implemented with app configuration in your MDM:

KeyValueNotes

anonymousAccess

Specifies whether to sign in anonymously or require credentials

  • The anonymousAccess parameter value is ignored if the following are true:
    • The portalURL is not specified.
    • The portal specified in portalURL does not support anonymous access.
  • If anonymousAccess is true and the portalURL is specified, when Field Maps is opened, credentials will not be required and you'll be signed in to the portal anonymously.
  • Value is a Boolean, true or false.
Note:

When connected to a portal anonymously, public maps in Featured Groups appear in the Maps list. Mobile workers can search for any publicly shared map in the portal.

isAutoSyncEnabled

Specifies whether autosync is enabled

  • Value is a Boolean, true or false.
  • Default is true.
  • If isAutoSyncEnabled is false, the autosync toggle button is hidden from the Profile settings and the Sync panel on the mobile device.

locationProfiles

Defines the parameters of one or more location profiles

  • The following parameters are required:
    • name—The name of the location profile.
    • mapCoordinateSystem—The WKID code for the map's coordinate system.
    • gnssCoordinateSystem—The WKID code for the GNSS receiver's coordinate system.
    • horizontalDatumTransformationName—The name of the horizontal datum transformation.
  • If locationProfiles contains multiple sets of values, the first location profile in the list is set as the default profile.
  • For example, [ { "name":"RTK", "mapCoordinateSystem":3857, "gnssCoordinateSystem": 6318, "horizontalDatumTransformationName": "~WGS_1984_(ITRF08)_To_NAD_1983_2011" }].
  • The value type is string.

offsetProvider

Specifies the offset provider

  • The following values are supported:
    • Bad Elf Flex
    • Eos Tools Pro
    • Spike
      Note:

      Spike is only supported on iOS.

  • The value type is string.

portalURL

Your organization's portal URL

  • When Field Maps is opened, it skips directly to the sign-in screen for your organization's portal.
  • For example, https://myportal.mycompany.com/gis.
  • The value type is string.

locationSharingMode

Specifies whether battery life is optimized or unoptimized while recording tracks

  • When locationSharingMode is set to optimized, the device activity is used to determine when tracks are recorded.
  • When locationSharingMode is set to unoptimized, tracks are recorded regardless of device activity.
  • For more information, see Optimize battery life.
  • The value type is string.

locationSharingUploadLKLFrequency

Specifies the last known location upload frequency

  • Overrides the default setting of 60 seconds.
  • The unit is seconds, and the value must be greater than 5. There is no maximum limit.
  • This setting persists between sessions until the user signs out.
  • The value type is integer.

locationSharingShareLKLOnly

Specifies how location sharing history is stored

  • Value is a Boolean, true or false.
  • If locationSharingLKLOnly is true, location sharing track point history is not stored.

locationSharingUploadTracksFrequency

Specifies the track upload frequency

  • Overrides the default setting in the app.
  • The unit is seconds, and the value must be greater than 30.
  • The value type is integer.

maxRefreshTokenExpiration

Specifies an expiration time for the token

  • Overrides the default setting of using a permanent refresh token.
  • The unit is minutes.
  • The value type is integer.
  • Any integer can be used, starting at 2 minutes.
  • A value of 0 will honor the maxTokenExpirationMinutes portal setting up to a maximum value of 90 days. If the value specified is greater than this setting, the token will match the maximum value that can be created for the type of token.
  • A value of -1 is the default value and indicates a permanent refresh token.
Note:

To learn more about token expiration, see Specify the maximum token expiration time.

useInAppAuth

Specifies whether a web view is used for sign-in and authentication in Field Maps

  • Value is a Boolean, true or false.
  • Default is false.
  • If useInAppAuth is false, the sign-in page will be launched using an out-of-process flow.
  • If useInAppAuth is true, the sign-in page will use an in-app web view.
Caution:

If a VPN is required to access your internal resources, and your organization restricts VPN access to browsers on managed devices, setting useInAppAuth to true may be required for enabling successful sign-in to your portals.

Note:

If Field Maps is opened with a Field Maps link, the link parameter values take precedence over app configuration settings.

Per-app virtual private network

Configuring a per-app virtual private network (per-app VPN) in your MDM allows you to restrict access to internal resources to specific managed apps. Field Maps can be deployed with this configuration. To set up per-app VPN for use with Field Maps, see the software documentation for the MDM you are using.

Caution:

If you're on iOS, Safari is used to display the portal sign-in screen in Field Maps. For this to work correctly with a per-app VPN enabled, your portal domain (for example, mycompany.com) must be specified in the Safari Domains setting in the per-app VPN profile you're using. If Safari Domains is not set correctly, the assigned mobile devices cannot access the Field Maps portal sign-in screen. The alternative is to set useInAppAuth to true, which will force the sign-in process to happen in an in-app web view, as opposed to in Safari.

When you set a Safari Domain in the per-app VPN profile as described above, the Safari Browser app can also access the portal domain you specified in the Safari Domains setting. If you want to block this access, configure an iOS Restriction (if available in your MDM) to Block Safari Browser App on the desired devices.

If you're on Android, Chrome Custom tabs (or your preferred browser) is used to display the portal sign-in screen in Field Maps. The browser must have VPN access for this to work correctly with a per-app VPN enabled. Consider setting useInAppAuth to true to avoid this requirement and force the sign-in process to happen in an in-app web view.

After you've configured the per-app VPN settings for Field Maps in your MDM, when the app is opened on a managed mobile device, it automatically connects to the designated per-app VPN. When Field Maps is running in the background, the per-app VPN is still connected, but only to Field Maps. When Field Maps is closed, the mobile device automatically disconnects from the per-app VPN.