1

我正在尝试将类添加到工作正常的标记中。但是,当它是 divIcon 时,它需要不同的样式。因此,如果 Instance 是 DivIcon,我将尝试设置另一个 className。

下面的代码总是正确的,因为 L.divIcon 仍然是一个标记(?)

if(e.target instanceof L.DivIcon) {
    let icon = e.target._icon
    if(!(L.DomUtil.hasClass(icon, 'leaflet-pm-divIcon-selected'))) {
      L.DomUtil.addClass(e.target._icon, 'leaflet-pm-divIcon-selected')
    }
  } 
  else if (e.target instanceof L.Marker) {
    let icon = e.target._icon
      if(!(L.DomUtil.hasClass(icon, 'leaflet-pm-marker-selected'))) {
      offsetMarker(icon, 8)
      L.DomUtil.addClass(e.target._icon, 'leaflet-pm-marker-selected')
    }
  }

e.target instanceof L.Marker && e.target instanceof L.DivIcon也行不通

4

1 回答 1

2

检查图层图标是否为 L.DivIcon:

e.target.getIcon() instanceof L.DivIcon
于 2020-10-22T13:40:28.367 回答