Я пытаюсь использовать объект «Выбрать» из библиотеки Typescript Openlayers 5 и добавить функцию в наложение подсветки, но функция не отображается.
Я добавил векторные слои наложения подсветки в свойmap («mapValues» - это одноэлементное хранилище глобальных значений и объектов)
public static addHighlightOverlay(){
let highlightStyleCache = {};
mapValues.highlightOverlay = new olLayerVector({
source: new olSourceVector(),
map: mapValues.map,
style: function(feature,resolution){
let text = resolution * 100000 < 10 ? feature.get('text') : '';
if(!highlightStyleCache[text]){
highlightStyleCache[text] = new Style({
stroke: new Stroke({color: '#ffcc33', width:2}),
fill: new Fill({color: 'rgba(255,255,255,0.2'}),
text: new Text({
font: '12px Calibri,sans-serif',
text: text,
fill: new Fill({
color: '#000'
}),
stroke: new Stroke({
color: '#f00',
width: 3
}),
zIndex: 10000})
})
}
return highlightStyleCache[text]
}
})
mapValues.highlightOverlay.setMap(mapValues.map);
}
Я создаю новый «Выбрать» и добавляю взаимодействие на карту.
let selectClick = new Select({
condition: click
});
mapValues.map.addInteraction(selectClick);
ипри "выборе" я добавляю функцию к оверлею подсветки
selectClick.on('select', function(e) {
mapValues.currSelectedFeature = e.selected[0]; mapValues.highlightOverlay.getSource().addFeature(mapValues.currSelectedFeature);
});
Я ожидаю увидеть функцию, добавленную к подсветке highlightOverlay с желтым штрихом вокруг нее, но ничего не вижу?
Любая помощь с благодарностью!