Как получить экземпляр листовки L.DivIcon

#leaflet #leaflet-geoman

#листовка #листовка-геоман

Вопрос:

Я пытаюсь добавить классы к маркерам, которые отлично работают. Однако, когда это divIcon, для него требуется другой стиль. Итак, я пытаюсь установить другое имя класса, если экземпляр является DivIcon.

Приведенный ниже код всегда имеет значение true, потому что 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 amp;amp; e.target instanceof L.DivIcon также не работает

Ответ №1:

Проверьте, является ли значок слоя L.DivIcon:

 e.target.getIcon() instanceof L.DivIcon