Hello GIS friends,
I'm currently working on a project where I need to register an event listener using the FeatureLayerManager in the ArcGIS API for Python. However, I'm encountering an issue where it seems that the FeatureLayerManager object does not have an attribute called register_listener. How can I get it to work?
Here's a snippet of the code I'm using:
from arcgis.features import FeatureLayer
# Get feature layer
feature_layer_url = "…………………………………………….."
try:
feature_layer = FeatureLayer(feature_layer_url)
print("Successfully fetched the feature layer")
except Exception as e:
print(f"Failed to get feature layer: {e}")
exit(1)
# Callback function to handle feature collection events
def handle_feature_collection_event(event):
try:
for feature in event['features']:
created_user = feature['attributes']['created_user']
subject = "New feature collected"
body = f"A new feature was collected by {created_user}."
send_email(subject, body)
except Exception as e:
print(f"Error handling feature collection event: {e}")
# Set up feature collection event listener
try:
feature_layer.manager.register_listener('onEdits', handle_feature_collection_event)
print("Successfully registered event listener")
except Exception as e:
print(f"Failed to register event listener: {e}")
exit(1)