I have a feature of layer of points which is time enabled. I also have a time slider, with some code that runs a filter on the layer to only show points that are within the time slider range. The time slider uses cumulative-from-start. The feature layer is using a picture-marker renderer with a firefly image:
const renderer = {
symbol: {
angle: 0,
contentType: 'image/png',
height: 18.75,
width: 18.75,
type: 'picture-marker',
url: 'https://static.arcgis.com/images/Symbols/Firefly/FireflyC20.png',
xoffset: 0,
yoffset: 0,
},
type: 'simple',
};
Here's what my filter looks like:
timeSlider.watch('timeExtent', function(value) {
const dateString = value.end.getTime();
layerView.filter = {
where: `Time <= '${dateString}'`,
};
});
Here's a codepen showing what I'm working with. Its all working nicely.
What I would like to do is implement a fade in effect, such that as each point is included in the filter, it fades in, rather than just appears. I know this has been done, as this code is basically an attempt to recreate this application. That app seems to be using version 3 of the arcgis api. What's nice about that is that the markers are rendered as actual <img /> elements, so the css classes can be harnessed to create a very nice fade in effect. However, with v4 of the API, I don't see a way to have such simple access to the elements as they're drawn into the canvas of the map.
How can I apply a fade-in effect to the points as the timeslider includes them in the layer's filter?