此示例显示如何使用postcompose和vectorContext为要素设置动画:
http://openlayers.org/en/latest/examples/feature-animation.html
我尝试替换这些行中的样式:
var style = new ol.style.Style({
image: new ol.style.Circle({
radius: radius,
snapToPixel: false,
stroke: new ol.style.Stroke({
color: 'rgba(255, 0, 0, ' + opacity + ')',
width: 0.25 + opacity
})
})
});
vectorContext.setStyle(style);
当我将样式替换为img样式时,如下所示:
var style = new ol.style.Style({
image: new ol.style.Icon(({
src: 'https://openlayers.org/en/v3.20.1/examples/data/icon.png'
}))
});
它不起作用并抛出错误:无法读取null
的属性“0”这是一个错误吗?或者我如何使用img样式呢?
答案 0 :(得分:0)
如果要添加图像而不是普通Point,则无需将样式更改为动画功能。
您可以通过以下方式将所需的样式添加到矢量图层中:
var vector = new ol.layer.Vector({
source: source,
style: new ol.style.Style({
image: new ol.style.Icon(({
src: 'https://openlayers.org/en/v3.20.1/examples/data/icon.png'
}))
})
});
我为vectorContext编辑了https://resharper-support.jetbrains.com/hc/en-us/articles/207241675-Offline-plug-in-installation-process,没有任何样式。如果你想获得一些动画,比如在Openlayers Site的例子中,你只需要通过在jsfiddle代码中取消注释它来添加旧的样式。