Openlayers 如何将不同的图标应用到克隆的功能中
我实现了一个功能,它绘制了一个图标,而不是一个常规形状,如下图所示: 我的目的是在该功能(以及许多其他功能)旁边添加一个图标警报。因此,为了实现这一点,我正在克隆该功能,并尝试在创建的样式中应用不同的图像,如下面的代码:Openlayers 如何将不同的图标应用到克隆的功能中,openlayers,openlayers-6,Openlayers,Openlayers 6,我实现了一个功能,它绘制了一个图标,而不是一个常规形状,如下图所示: 我的目的是在该功能(以及许多其他功能)旁边添加一个图标警报。因此,为了实现这一点,我正在克隆该功能,并尝试在创建的样式中应用不同的图像,如下面的代码: export const setIconEffect = (feature: Feature, event: any) => { const vectorContext = getVectorContext(event); // clone the f
export const setIconEffect = (feature: Feature, event: any) => {
const vectorContext = getVectorContext(event);
// clone the feature geometry
const flashGeom = feature.getGeometry().clone();
// creates a new style to be applied into this cloned feature
const style = new Style({
image: new Icon({
src: 'assets/images/mapElements/warning-icon.png',
scale: 0.1,
imgSize: toSize(500),
anchorOrigin: IconOrigin.BOTTOM_RIGHT,
anchor: [1.8, 0.05],
}),
});
// set it into the cloned geometry
vectorContext.setStyle(style);
vectorContext.drawGeometry(flashGeom);
};
问题是,当我尝试应用不同的src
时,它不起作用,但是,如果我使用相同的src
,它确实起作用
应用不同的src
只会像往常一样显示标记。
应用相同的src
可以正确地绘制图标,但作为复制(这不是目的)。示例如下:
定义样式后,我们需要通过以下操作强制加载图像:
style.getImage().load();
定义样式后,我们需要通过以下操作强制加载图像:
style.getImage().load();
仅将样式数组应用于原始要素(包含主图标和派生图标)可能更容易。仅将样式数组应用于原始要素(包含主图标和派生图标)可能更容易