Feed data for a Geotrigger created from a LocationDataSource. The GeotriggerFeed is the dynamic component of a Geotrigger. Typically, it is the data that moves around and triggers the condition. For example, if the condition is "notify me when my position comes within 50 meters of one of my target areas", the feed data is "my position".
To receive location updates, the LocationDataSource must be LocationDataSource.started. If you call GeotriggerMonitor.stop(), the underlying LocationDataSource will not be stopped for you. For example, it may continue to receive GPS readings.
If the LocationGeotriggerFeed is from a Geotrigger defined in a GeotriggersInfo, you must supply a LocationDataSource to provide the device location. Set the LocationGeotriggerFeed.getLocationDataSource() to your LocationDataSource - for example, using the LocationDisplay.getDataSource().
A FenceGeotrigger can also take into account floors within buildings. If the feature table used to create the FeatureFenceParameters is referenced by a FeatureLayer that is FloorAware, and the LocationDataSource used to create the GeotriggerFeed includes Location.SourceProperties.Keys.getFloor() information, then fences will only be entered when they are intersected by a Location on the correct floor. If the fence or location data does not include valid floor information, the floor is ignored and the fence is entered when it is intersected by the location.
A floor aware feature layer or table must be part of a GeoModel that includes a valid GeoModelFloorDefinition. All layers and tables that are used by the floor definition are loaded when the GeotriggerMonitor is started.
A Location can contain floor property as part of Location.getAdditionalSourceProperties(). This is populated automatically by IndoorsLocationDataSource, or can be supplied as part of your own implementation.
Constructs a LocationGeotriggerFeed with a LocationDataSource.