Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openlayers 3 vectorContext.setStyle中的openlayers3:ol.style.Icon无法工作?_Openlayers 3 - Fatal编程技术网

Openlayers 3 vectorContext.setStyle中的openlayers3:ol.style.Icon无法工作?

Openlayers 3 vectorContext.setStyle中的openlayers3:ol.style.Icon无法工作?,openlayers-3,Openlayers 3,此示例演示如何使用postcompose和vectorContext设置要素动画: 我尝试替换这些行中的样式: 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, '

此示例演示如何使用postcompose和vectorContext设置要素动画:

我尝试替换这些行中的样式:

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样式?

如果要添加图像而不是法线点,则无需将样式更改为动画功能

可以通过以下方式将所需样式添加到向量层:

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'
        }))
    })
});

我编辑了你的文本,但没有矢量上下文的任何样式。如果您想获得一些动画,如Openlayers站点示例中的动画,只需通过在JSFIDLE代码中取消注释来添加旧样式。

我在您的代码中没有发现任何错误;一切都应该正常运转。你能提供一个活生生的例子,让我们看看发生了什么吗?这是一个例子:,我只是改变了第53行的样式(最初的例子是),函数“animate”无法工作…谢谢,我想做一个动画:一个红点沿着这条线移动,像这样:,并将红点替换为图像样式,但是我失败了…你想要的东西在你的问题中没有明确描述,这就是为什么我鼓励你编辑它,这样每个人都能理解你的意思。您在问题的注释中添加的JSFIDLE示例也有相当大的误导性。但是,在这里您可以找到一个动画中带有自定义图标的点的示例:我找到了它不起作用的原因:ol.style.icon直接用于“vectorContext.drawFeature”,但在渲染之前的其他位置不使用。例如,要将示例的第69行更改为“features:[routeFeature1]”,它将不起作用