2017-08-03 5 views
-1

リーフレットプラグインを使用してマーカーを表示しています。現在のマーカーをクリックすると、アイコンは現在のマーカーのみを変更するはずです。リーフレットを使用して現在のクリックマーカーを変更する

もう一度マーカーをクリックすると、そのマーカーが新しいアイコンに変更され、他のすべてのマーカーアイコンが元のままになります。

私はマップ 2 - 新しいマーカー上のマーカーを示すとき、私は設定しています2マーカーアイコン の1-オリジナルのアイコンを持っているように - 私はmarker.Only現在のマーカーアイコンをクリックしてくださいがあるべきときに、このマーカーアイコンを設定する必要がありますしたいです変更し、他のすべてのアイコンオリジナルアイコンを保持します。

答えて

0

マーカーレイヤーはありますか?はい、あなたが最初にこの後

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

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

を新しいアイコンを作成することができれば、あなたは、レイヤ内でクリックされたマーカーのインデックスを取得し、このようなアイコンを更新する必要があります

markersLayer[markersIndex].setIcon(myCustomIcon); 
0

あなたはこれを試すことができます。 marker1をクリックすると、アイコンが設定したアイコンに変わります。

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