J'utilise des divIcons personnalisés pour mes marqueurs Leaflet. Je veux ajouter une bordure à n'importe quel marqueur sur lequel je clique, avec du CSS simple:
.selectedMarker {
border: 10px solid gold;
}
Cependant, ce qui suit avec jQuery ne fonctionne pas:
$(marker).addClass('selectedMarker');
J'ai ensuite essayé d'utiliser la propre méthode de Leaflet méthode addClass () . J'ai essayé d'appeler use it de la manière suivante:
marker.addClass('selectedMarker');
L.addClass(marker, 'selectedMarker');
addClass(marker, 'selectedMarker');
DomUtil.addClass(marker, 'selectedMarker');
Aucun de ces travaux. Comment ajouter la classe selectedMarker à mon marqueur?
Je l'ai fait en ajoutant une classe au marqueur avec
var marker = L.marker(loc);
marker.on('click', function() {
$(marker._icon).addClass('selectedMarker');
}
puis utilisez le css
.leaflet-marker-icon.selectedMarker{
//your css
}
Dans 1.0 et 0.7, vous pouvez utiliser L.DomUtil pour ajouter des classes de suppression d'un élément DOM:
L.DomUtil.addClass(marker._icon, 'className');
L.DomUtil.removeClass(marker._icon, 'className');
sans utiliser jQuery,
marker._icon.classList.add("className");