如何将不同的图标应用到克隆的功能中
How to apply a different icon into a cloned feature
我实现了一个绘制图标而不是常规形状的功能,如下图所示:
我打算在此功能(以及许多其他功能)旁边添加一个图标提醒。因此,为了尝试实现这一点,我正在克隆该功能并尝试在正在创建的样式中应用不同的图像,如下面的代码:
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();
我实现了一个绘制图标而不是常规形状的功能,如下图所示:
我打算在此功能(以及许多其他功能)旁边添加一个图标提醒。因此,为了尝试实现这一点,我正在克隆该功能并尝试在正在创建的样式中应用不同的图像,如下面的代码:
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();