首页 > 解决方案 > 在 Leaflet 中传递给 DivIcon 的 HTMLElement 不起作用

问题描述

我想将一个HTMLElemnt对象传递给Angular 应用程序DivIcon中的Leaflet

这是我img在文本中的元素:

<img src="assets/images/icons/marker.png" style="width:100%;height:100%;" />

当我将上面的字符串传递给DivIcon.html属性时,它工作正常,显示图像。

但是现在,我正在尝试传递一个HTMLElement文档说它支持)

this.markerElement = document.createElement('img');
this.markerElement.src = 'assets/images/icons/marker.png';
this.markerElement.style.width = '100%';
this.markerElement.style.height = '100%';

this.markerIcon = new DivIcon({
  iconSize: [40, 40],
  iconAnchor: [20, 20],
  html: this.markerElement,
  className: 'marker-position-icon'
});

我什至尝试使用 angular Renderer2

constructor(rendererFactory: RendererFactory2) {
  this.renderer = rendererFactory.createRenderer(null, null);
}

init () {
    this.markerElement = this.renderer.createElement('img');
    ...

它仍然不起作用。这是一个问题,因为它是一个HTMLImageElement?(我猜不是)

这是它的显示方式:

(没有红框)

在此处输入图像描述

标签: javascriptangulartypescriptleaflet

解决方案


推荐阅读