2017-08-03 3 views
-1

J'utilise le plugin dépliant pour montrer le marqueur. Lorsque je clique sur le marqueur actuel, l'icône ne devrait changer que le marqueur actuel. De nouveau, lorsque je clique sur un autre marqueur, changez ce marqueur en nouvelle icône et gardez toutes les autres icônes originales.Changer le marqueur cliqué en cours Icône utilisant la brochure

Comme je 2 marqueur Icône 1- Icône d'origine que je suis en train lors de l'affichage du marqueur sur la carte 2- nouveau marqueur - Je veux que cette icône de marqueur doit être défini lors cliquez sur l'icône marqueur actuel marker.Only devrait être changé et garder toutes les autres icône icône originale.

Répondre

0

Avez-vous une couche de marqueur? Si oui, vous pouvez d'abord créer une nouvelle icône

var customIcon = L.Icon.extend({ 
    options: { 
     iconSize: [40.4, 44], 
     iconAnchor: [20, 43], 
     popupAnchor: [0, -51] 
    } 
}); 

var myCustomIcon = new CustomIcon({ iconUrl: '../images/marker.png' }); 

Après cela, vous devriez obtenir l'index de marqueur cliquée dans la couche et mettre à jour l'icône comme ceci:

markersLayer[markersIndex].setIcon(myCustomIcon); 
0

vous pouvez essayer. Lorsque vous cliquez sur marker1, son icône devient celle que vous avez définie.

let marker1 = L.marker([e.latitude, e.longitude], { icon: greenIcon }).on('click',()=>{ 
       marker1.setIcon(redIcon) 
       }).addTo(map)