Skip to main content

Layer List Events

LayerSearchCompleted​

Description​

The LayerSearchCompleted event is triggered when a user completes a search for layers on a map using the Maptaskr for Power Pages App. This event provides information about the search polygon, search term, and the resulting layers in JSON format.

Usage​

To listen for the LayerSearchCompleted event, you can use the on method of the window['maptaskrPCF'] object. This allows you to register an event listener that executes a call-back function when the event is triggered.

Example​

window['maptaskrPCF'].on("LayerSearchCompleted", function(searchPolygon, searchTerm, resultingLayersJson) {

console.log("searchPolygon: " + searchPolygon);

console.log("searchTerm: " + searchTerm);

console.log("resultingLayersJson: " + resultingLayersJson);

});

In the example above, we've registered an event listener for the LayerSearchCompleted event. When the event occurs, the provided call-back function is executed, logging the search polygon, search term, and the resulting layers in JSON format to the console.

Parameters​

  • searchPolygon (string): The search polygon or area used for layer searching.
  • searchTerm (string): The search term or criteria used for layer searching.
  • resultingLayersJson (string): The resulting layers in JSON format that match the search criteria.

Response Example​

The resultingLayersJson returned will be a JavaScript Object in the format provided below (with some properties excluded for brevity)

[

{

"layers": [],

"groups": [],

"isFiltered": true,

"LayerId": "acb612f0-bea7-eb11-9442-000d3acb7dc6-2",

"LayerName": "MapServer RoadAssets_DataPortal",

"LayerHiddenName": "<https://mrgis.mainroads.wa.gov.au/arcgis/rest/services/OpenData/RoadAssets_DataPortal/MapServer>",
"IsCorporate" : true,
"layerGroupId" : "819aafa8-2a8e-ec11-8d20-002248159630",
"SecurityGroupId" : [ "all" ],
"LayerType" : 5,
"LayerUrl" : "<https://mrgis.mainroads.wa.gov.au/arcgis/rest/services/OpenData/RoadAssets_DataPortal/MapServer>",
"isService" : true,
"IsVisible" : true,
"IsSelected" : false,
"sharedUserIds" : [],
"hasAuthentication" : false,
"layerUserName" : "" ,
"layerPassword" : "" ,
"metadataStyle" : "Table" ,
"arcGisAuthApplication" : "",
"securityLayerKey" : "" ,
"securityLayerValue" : "" ,
"securityLayerType" : 0,
"arcGisLayerToken" : "",
"isForPortal" : true,
"LayerUniqueIdentifier" : "acb612f0-bea7-eb11-9442-000d3acb7dc6-2",
"IsCollapsed" : true,
"IsLayerFunctionality" : false,
"filteredSubLayersId" : [ 0, 6, 27 ]
}
]

Removing Event Listeners​

To remove the event listener for the LayerSearchCompleted event, you can use the off method of the window['maptaskrPCF'] object. This is useful when you no longer want to listen to this specific event.

Example​

window['maptaskrPCF'].off("LayerSearchCompleted"); 

In the example above, the event listener for LayerSearchCompleted is removed, ensuring that the associated call-back function no longer executes when the event is triggered.

LayerSelected​

Description​

The LayerSelected event is triggered when a user selects a layer or layer group on a map using the Maptaskr for Power Pages App. This event provides information about the selected layer group ID and layer ID.

Usage​

To listen for the LayerSelected event, you can use the on method of the window['maptaskrPCF'] object. This allows you to register an event listener that executes a call-back function when the event is triggered.

Example​

window['maptaskrPCF'].on("LayerSelected", function(layerGroupID, layerID, checked) { console.log("layerGroupID: " + layerGroupID);

console.log(" layerID: " + layerID);

console.log(" checked: " + checked);

});

In the example above, we've registered an event listener for the LayerSelected event. The provided call-back function is executed when the event occurs, logging the layer group ID and layer ID to the console.

Parameters​

  • layerGroupID (string): The ID of the selected layer group.
  • layerID (string): The ID of the selected layer within the group.
  • checked (boolean): If the layer is checked or unchecked.

Removing Event Listeners​

To remove the event listener for the LayerSelected event, you can use the off method of the window['maptaskrPCF'] object. This is useful when you no longer want to listen to this specific event.

Example​

window['maptaskrPCF'].off(" LayerSelected"); 

In the example above, the event listener for LayerSelected is removed, ensuring that the associated call-back function no longer executes when the event is triggered.

LayerFilterApplied​

Description​

The LayerFilterApplied event is triggered when a user applies a filter to a layer on a map using the Maptaskr for Power Pages App. This event provides information about the filter parameters.

Usage​

To listen for the LayerFilterApplied event, you can use the on method of the window['maptaskrPCF'] object. This allows you to register an event listener that executes a call-back function when the event is triggered.

Example​

window['maptaskrPCF'].on("LayerFilterApplied",
function(filterparams) {

console.log("filterparams: " + filterparams);

});

In the example above, we've registered an event listener for the LayerFilterApplied event. The provided call-back function is executed when the event occurs, logging the filter parameters to the console.

Parameters​

  • filterparams (string): The filter parameters applied to the layer.

Response Example​

The filterparams returned will be a JavaScript Object in the format provided below (with some properties excluded for brevity)

{

" LayerName": "Bike Count Sites" ,
"LayerUniqueIdentifier": "acb612f0-bea7-eb11-9442-000d3acb7dc6-2_670badf1-7131-4068-9437-a9f254cf2607" ,
"expressionItems" : [
{
"operators" :
[
{
"name" : "Equals" ,
"value" : "eq" ,
"fetchOp" : "eq" ,
"fetchVal" : "" ,
"types" : [ 6, 1, 3,7 ],
"isCommon" : false
},
{
"name" : "Does Not Equal" ,
"value" : "ne" ,
"fetchOp" : "ne" ,
"fetchVal" : "",
"types" : [ 6, 1, 3, 7 ],
"isCommon" : false
}
],
"fields" :
[
{
"displayName" : "OBJECTID" ,
"internalName" : "OBJECTID" ,
"fieldTypeName" : "decimal" ,
"fieldType" : 6
},
...
],
"valueList" : [],
"dataType" : 6,
"displayName" : "OBJECTID" ,
"operator" : "eq" ,
"value" : "1" ,
"fieldInfo" : '{"displayName":"OBJECTID","internalName":"OBJECTID","fieldTypeName":"decimal","fieldType":6}'
}
],
"FilterLayerOperator" : "Match All"
}

Removing Event Listeners​

To remove the event listener for the LayerFilterApplied event, you can use the off method of the window['maptaskrPCF'] object. This is useful when you no longer want to listen to this specific event.

Example​

window['maptaskrPCF'].off("LayerFilterApplied"); 

In the example above, the event listener for LayerFilterApplied is removed, ensuring that the associated call-back function no longer executes when the event is triggered.

LayerAttributeRequested​

Description​

The LayerAttributeRequested event is triggered when a user requests attributes for a layer on a map using the Maptaskr for Power Pages App. This event provides information about the layer group ID, layer ID, and resulting attributes.

Usage​

To listen for the LayerAttributeRequested event, you can use the on method of the window['maptaskrPCF'] object. This allows you to register an event listener that executes a call-back function when the event is triggered.

Example​

window['maptaskrPCF'].on("LayerAttributeRequested", function(layerGroupdID, layerID, resultingAttributes) { 

console.log("layerGroupdID: " + layerGroupdID);

console.log(" layerID: " + layerID);

console.log(" resultingAttributes: " + resultingAttributes);

});

In the example above, we've registered an event listener for the LayerAttributeRequested event. When the event occurs, the provided call-back function is executed, logging the layer group ID, layer ID, and resulting attributes to the console.

Parameters​

  • layerGroupdID (string): The ID of the layer group for which attributes were requested.
  • layerID (string): The ID of the layer for which attributes were requested.
  • resultingAttributes (string): The resulting attributes for the requested layer.

Response Example​

The resultingAttributes returned will be a JavaScript Object in the format provided below (with some properties excluded for brevity)

[

{
" OBJECTID": 88315,
"SITE_NO" : "6737" ,
"ROAD_NAME" : "Kwinana Fwy PSP" ,
"LOCATION_DESC" : "North Abutment of Narrows Bridge" ,
"DATE_COMMISSIONED" : "2008-11-01 09:00:00" ,
"TRAFFIC_YEAR" : "2023/24",
"PRIMARY_DIRECTION" : "To Perth" ,
"PRIMARY_DIRECTION_MON_SUN" : 234,
"PRIMARY_DIRECTION_MON_FRI" : 207,
"SECONDARY_DIRECTION" : "To Fremantle" ,
"SECONDARY_DIRECTION_MON_SUN" : 257,
"SECONDARY_DIRECTION_MON_FRI" : 213,
"COMBINED_DIRECTION_MON_SUN" : 491,
"COMBINED_DIRECTION_MON_FRI" : 420,
"LG_NO" : "124" ,
"LG_NAME" : "Perth (C)" ,
"RA_NO" : 7,
"RA_NAME" : "Metropolitan" ,
"PRIMARY_DIRECTION_SAT_SUN" : 300,
"SECONDARY_DIRECTION_SAT_SUN" : 368,
"COMBINED_DIRECTION_SAT_SUN" : 668,
"geom" : {
"x" : 115.8481209999099,
"y" : -31.96117500052617
},
"projection" : "4326",
"isSelected" : false
}, ...
]

Removing Event Listeners​

To remove the event listener for the LayerAttributeRequested event, you can use the off method of the window['maptaskrPCF'] object. This is useful when you no longer want to listen to this specific event.

Example​

window['maptaskrPCF'].off("LayerAttributeRequested"); 

In the example above, the event listener for LayerAttributeRequested is removed, ensuring that the associated call-back function no longer executes when the event is triggered.