Hi All,
I'm kind of new on the API 4.3 and I've bean searching everywhere but cant find the answer.
What I basically want to do is that when that all of my sublayers are not visible as default. When the user clicks a sublayer for viewing I would like to get the ID of the sublayer the user clicked so that I can refresh the search widget son that the user can search on the visible sublayer.
i read that with the ListItem you can grab it but i don't know how to invoque that parameter on click
Hope someone can help me.
Here is a snippet of how I'm loading the #LayerList
layer = new MapImageLayer({
url: URL
});
var view = new MapView({
map: map,
container: "viewDiv",
extent: extent
});
var layerList = new LayerList({
view: view
});
view.ui.add(layerList, "top-right");
Solved! Go to Solution.
You would need to watch the visible property of the ListItem, then grab the ID of the sublayer when the value is true:
if (item.layer.declaredClass === "esri.layers.support.Sublayer") { watchUtils.whenTrue(item, "visible", function(newVal) { console.log("sub layer id of visible layer: ", item.layer.id); }); }
Here's a live app based on the SDK sample: https://codepen.io/kekenes/pen/zdxJpX?editors=1001
You would need to watch the visible property of the ListItem, then grab the ID of the sublayer when the value is true:
if (item.layer.declaredClass === "esri.layers.support.Sublayer") { watchUtils.whenTrue(item, "visible", function(newVal) { console.log("sub layer id of visible layer: ", item.layer.id); }); }
Here's a live app based on the SDK sample: https://codepen.io/kekenes/pen/zdxJpX?editors=1001