Geotrigger QML Type

A condition monitored by a GeotriggerMonitor. More...

Import Statement: import Esri.ArcGISRuntime 100.13
Since: Esri.ArcGISRuntime 100.12


Inherited By:




Detailed Description

A Geotrigger defines a condition that can be continually monitored in real-time. Once the condition is met, the Geotrigger defines how a GeotriggerNotificationInfo can be used to inform the user.

A GeotriggerMonitor, created with the Geotrigger, handles monitoring and reporting.

You can create a FenceGeotrigger describing target areas, covered by spatial rules such as enter or exit. This type of spatial monitoring is also known as "Geofencing".

Note: You cannot declare or create a component of this type in QML code.

Property Documentation

The GeotriggerFeed that is monitored for changes.

You can construct a LocationGeotriggerFeed from any AbstractLocationDataSource. Typically, this shows the device location based on GPS.

geotriggerId : string

Unique ID for the Geotrigger (read-only).

This property was introduced in Esri.ArcGISRuntime 100.13.

geotriggerType : Enums.GeotriggerType

The type of geotrigger (read-only).

The type for a specific Geotrigger object.

messageExpression : ArcadeExpression

An ArcadeExpression that controls the message when a Geotrigger is met.

The expression uses the Arcade language to form an output message that can be:

  • A string literal that is the same for all notifications relating to this Geotrigger
  • A message that is specific to the attributes of objects that met the Geotrigger

The expression is evaluated, whenever the Geotrigger condition is met in order to populate the GeotriggerNotificationInfo::message property. This message can be displayed to alert the user that the Geotrigger condition has been met. Note that the expression cannot be changed when the GeotriggerMonitor is running.

For example, with a FenceGeotrigger, setting the messageExpression property to use an ArcadeExpression based on this string:

"You have " + $fencenotificationtype + " " + $fencefeature.area_name

would return the GeotriggerNotificationInfo::message "You have entered Area A", where "area_name" is an attribute field on the FenceGeotriggerNotificationInfo::fenceGeoElement. Note that this property is an ArcadeExpression object rather than a string.

Optionally, the expression can return extra properties in addition to the message. For example, it could produce another string, suitable for logging to a database. To supply additional properties, write an arcade expression that evaluates to a dictionary of key value pairs. A value with the key "message" will be used to populate the GeotriggerNotificationInfo::message property and additional key value pairs will be returned in the GeotriggerNotificationInfo::messageProperties dictionary.

The ArcadeExpression must evaluate to either a string or a dictionary - see ArcadeExpression::returnType.

For more information on the available globals and functions for creating the messageExpression see the "Geotrigger Notification" profile at https://developers.arcgis.com/arcade/guide/profiles/.

name : string

The name of the Geotrigger.

Signal Documentation


Emitted when the feed property changes.

Note: The corresponding handler is onFeedChanged.


Emitted when the messageExpression property changes.

Note: The corresponding handler is onMessageExpressionChanged.


Emitted when the name property changes.

Note: The corresponding handler is onNameChanged.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.