Hi everyone into Community.
I have an Angular application where I load portalID item derivede from DXF file as FeatureLayer and I highlight layer polygons according to selection.
I woud like to dinamically change color before highlighting the resulting feature, but setting it in highlightOptions of the mapView doesn't affet the result.
The following is the code I wrote:
public highlight(filter: string) {
console.log(this.mapView.highlightOptions.color);
this.mapView.highlightOptions.color = new Color('green');
console.log(this.mapView.highlightOptions.color);
this.mapView.whenLayerView(this.featureLayer).then((layerView) => {
const query: Query = new Query();
query.returnGeometry = true;
query.outFields = ['*'];
query.where = "Text='" + filter + "'";
this.featureLayer.queryFeatures(query).then((result) => {
if (this.highlightState) {
this.highlightState.remove();
}
console.log(this.mapView.highlightOptions.color);
this.highlightState = layerView.highlight(result.features) as Handle;
});
});
}As you can see, I added console.log instruction to check the setting when I call the function and I try to change its value: during execution when I enter first time into the function I see that setting is initialized as made in mapView definition (RED), it's correctly modified to GREEN, but the highlight item is always shown in RED.
When I call again the function, the setting is GREEN from the beginning, but highlight is in RED.
May any of you explain what I'm doing wrong?
Thanks in advance, best regards.