Selected Features
Programmatically inspect or change the “selected” feature set (mirrors user selections in the UI, e.g. from clicks or lasso tools).
getSelectedFeatures
Return the currently selected features.
Parameters: None
Usage:
const selected = control.getSelectedFeatures();
console.log('Count', selected);
Response
[
{
"id": "1756953420073",
"geometry": {
"type": "Point",
"coordinates": [
117.1742858,
-30.5245045
]
},
"properties": [
[
"accountid",
{
"fieldName": "accountid",
"displayName": "Account",
"displayType": "String",
"isFilterable": true,
"orderNumber": 0,
"type": "guid",
"value": "b708c9cc-cc66-f011-bec2-002248e3c85a",
"visibility": false,
"enabled": true
}
],
[
"address1_city",
{
"fieldName": "address1_city",
"displayName": "Address 1: City",
"displayType": "String",
"isFilterable": true,
"orderNumber": 1,
"type": "string",
"value": "BURAKIN",
"visibility": true,
"enabled": true
}
],
[
"name",
{
"fieldName": "name",
"displayName": "Account Name",
"displayType": "String",
"isFilterable": true,
"orderNumber": 2,
"type": "string",
"value": "Malaikah O'Ryan",
"visibility": true,
"enabled": true
}
],
[
"_primarycontactid_value",
{
"fieldName": "_primarycontactid_value",
"displayName": "Primary Contact Id",
"displayType": "String",
"isFilterable": true,
"orderNumber": 3,
"type": "lookup",
"value": "",
"visibility": false,
"enabled": true
}
],
[
"_primarycontactid_value@OData.Community.Display.V1.FormattedValue",
{
"fieldName": "_primarycontactid_value@OData.Community.Display.V1.FormattedValue",
"displayName": "Primary Contact",
"displayType": "String",
"isFilterable": true,
"orderNumber": 4,
"type": "string",
"value": "",
"visibility": false,
"enabled": true
}
],
[
"telephone1",
{
"fieldName": "telephone1",
"displayName": "Main Phone",
"displayType": "String",
"isFilterable": true,
"orderNumber": 5,
"type": "string",
"value": "9760610313",
"visibility": false,
"enabled": true
}
],
[
"accountprimarycontactidcontactcontactid.emailaddress1",
{
"fieldName": "accountprimarycontactidcontactcontactid.emailaddress1",
"displayName": "Email",
"displayType": "String",
"isFilterable": true,
"orderNumber": 6,
"type": "string",
"value": "",
"visibility": false,
"enabled": true
}
],
[
"mtrcore_latitude",
{
"fieldName": "mtrcore_latitude",
"displayName": "Latitude",
"displayType": "Number",
"isFilterable": true,
"orderNumber": 180,
"type": "number",
"value": -30.5245045,
"visibility": false,
"enabled": true
}
],
[
"mtrcore_longitude",
{
"fieldName": "mtrcore_longitude",
"displayName": "Longitude",
"displayType": "Number",
"isFilterable": true,
"orderNumber": 181,
"type": "number",
"value": 117.1742858,
"visibility": false,
"enabled": true
}
]
],
"centroid": {
"x": 117.1742858,
"y": -30.5245045,
"z": 0
},
"extent": {
"xmin": 117.1742858,
"ymin": -30.5245045,
"xmax": 117.1742858,
"ymax": -30.5245045,
"zmin": 0,
"zmax": 0,
"spatialReference": {
"wkid": 4326
}
},
"totalCoordinateCount": 1,
"levelOfDetail": 0,
"layerInstanceId": "fba870dc-284d-4b7d-a37f-84ed3a9ada8d"
}
]
setSelectedFeatures
Replace the current selection with your own array. Any existing selection is discarded.
Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
| features | SelectedFeature[] | null | undefined | Yes | Array of selected features to set; pass [], null, or undefined to clear. |
SelectedFeature shape (simplified):
interface SelectedFeature {
id: string;
geometry: { type: string; coordinates: any }; // GeoJSON geometry
properties: [string, { fieldName: string; value: any; /* ... */ }][]; // key/value tuples
centroid?: { x: number; y: number; z?: number };
extent?: { xmin: number; ymin: number; xmax: number; ymax: number; /* ... */ };
layerInstanceId: string;
}
Usage – take first five:
const subset = control.getSelectedFeatures().slice(0, 5);
control.setSelectedFeatures(subset);
Usage – clear selection:
control.setSelectedFeatures([]); // or control.setSelectedFeatures(null);