Возможно ли получить прикладной стиль для выбранной функции? Мой слой использует функцию стиля вместо ol.style.Style. Когда я вызываю myFeature.getStyle(), он возвращает функцию.OpenLayers 3 - Получить прикладной стиль для визуализированной функции
Обновление моего вопроса некоторыми вещами, которые я пробовал до сих пор, основываясь на ответах здесь и в других местах.
В результате я создал функцию выбора для каждого слоя.
Это не работает, ни один стиль не возвращается:
selectInteraction = new ol.interaction.Select({
style: function(feature, resolution) {
if (feature.selectStyle) {
return feature.selectStyle;
}
},
layers: mylayers
});
Кроме того, с вышесказанным я получаю следующее сообщение об ошибке:
Uncaught TypeError: style.getImage is not a function
ol.renderer.vector.renderFeature @ol.js:38455
ol.renderer.canvas.VectorLayer.renderFeature @ol.js:44202
renderFeature @ol.js:44148
ol.renderer.canvas.VectorLayer.prepareFrame @ol.js:44164
ol.renderer.canvas.Map.renderFrame @ol.js:45268
ol.Map.renderFrame_ @ol.js:52034
(anonymous function) @ol.js:50898
Это работает, функция визуализируется с помощью моего выберите стиль. Тем не менее, я не хочу, чтобы управлять повторной настройки стилей, так что это действительно должно быть реализовано в selectInteraction:
evt.selected.forEach(function(evt) {
evt.setStyle(evt.selectStyle);
}, this);
Я пробовал это, но myFeature.getStyle() возвращает null. Как это свойство styleFunction_ функции не определено, когда оно было написано? – MoreScratch