我是新手使用leaflet,正在尝试实现一组具有不同CSS样式的标记。
所以,我知道在将标记添加到地图后,可以通过调用marker上的getElement()来访问不同的CSS属性,例如:
marker.addTo(map);
marker.getElement().style.borderColor = '#000';
这段代码本来可以正常工作,但是当向一个图层添加标记时,会出现TypeError错误(getElement()未定义)。以下是出现错误的示例代码:
myLayer.addLayer(marker);
marker.getElement().style.borderColor = '#000';
我是否忽略了一种更简单的设置图层中标记和divicon的CSS属性的方法,或者是否有一种类似的方法可以在JavaScript中访问添加到图层中的标记和divicon?
className
选项。 如果我理解正确,我会给标记分配一个唯一的className
,然后使用getElementsByClassName()
获取标记? 我尝试了className: 'icon ' + name + entry.id,
,然后通过var my_icon = document.getElementsByClassName(name + entry.id)[0]; my_icon.style.borderWidth = Math.trunc(borderSize) + 'px';
来获取图标。 但是这似乎也不起作用,因为奇怪的是没有找到任何元素。 - DemandingBoyfrienddocument.getElementsByClassName
等函数将无法找到它。相反,要访问标记及其图标,并更改其className。你可以尝试更改单独的样式,但那会更加复杂。 - ghybs