今後のプロジェクトでLeaflet.jsについて学び始めました。 を、私は地図上に表示マーカーのリストを作成する必要があり、リスト項目が(またはマウスオーバー)を推移しているときに、それは上のどこの位置が表示されます:私が達成しようとしています何外部マーカーによるクラスタマーカーのリーフレット・トリガー・イベント
マップ(単一のマーカーのために、それは、その色を変更する必要があります。クラスタ化されたマーカーのために、それはず表示、それは我々がそれを置くと...振る舞うと、おそらくあまりにも可能であればその色をどのように変化するかのような報道ライン) 。 地図はズームレベルと同様に変更するべきではありません。単純に言えば、私はマップ上のマーカー/クラスターを強調表示する必要があります。私は今、何を達成した
:私は単一のマーカーにそれを行うことができると思います。私はそれがクラスタ化されたマーカーに実現するための方法を見つけることができなかった:何について私はスーパーイライラ
。
作成したマーカーを保存するには、グローバルなvarオブジェクトを使用します。
function updateMapMarkerResult(data) {
markers.clearLayers();
for (var i = 0; i < data.length; i++) {
var a = data[i];
var myIcon = L.divIcon({
className: 'prop-div-icon',
html: a.Description
});
var marker = L.marker(new L.LatLng(a.Latitude, a.Longitude), {
icon: myIcon
}, {
title: a.Name
});
marker.bindPopup('<div><div class="row"><h5>Name : ' + a.Name + '</h5></div><div class="row">Lat : ' + a.Latitude + '</div><div class="row">Lng : ' + a.Longitude + '</div>' + '</div>');
marker.on('mouseover', function(e) {
if (this._icon != null) {
this._icon.classList.remove("prop-div-icon");
this._icon.classList.add("prop-div-icon-shadow");
}
});
marker.on('mouseout', function(e) {
if (this._icon != null) {
this._icon.classList.remove("prop-div-icon-shadow");
this._icon.classList.add("prop-div-icon");
}
});
markersRef[a.LocId] = marker; // <-- Store Reference
markers.addLayer(marker);
updateMapListResult(a, i + 1);
}
map.addLayer(markers);
}
しかし、クラスタ化されたマーカーの参照を取得するオブジェクトまたはプロパティはわかりません。 そして私はグローバル変数(単一のマーカーでのみ動作します)でマーカーイベントをトリガーします。
...
li.addEventListener("mouseover", function(e) {
jQuery(this).addClass("btn-info");
markersRef[this.getAttribute('marker')].fire('mouseover'); // --> Trigger Marker Event "mouseover"
// TODO : Trigger ClusteredMarker Event "mouseover"
});
...
これは私の現在のhttps://jsfiddle.net/oryza_anggara/2gze75L6/です。いずれのリードも非常に大きな助けになる可能性があります。ありがとうございました。
注:私はよく知っている JSだけlibにはjQueryので、私は、このようなAngular.js
それが動作ここでそれはおそらく、それは防弾にするために多くの作業が必要になり、迅速な試みです!間違いなく私が探しているもの。そしてSpiderfyの機能は本当に素晴らしいです!それを使用することを検討し、マーカの大量について考える必要があります。しかし、あなたは本当にそれを釘付けにしました。さらに、おかげで、私の頭痛の日の1週間を節約するだけです。 – OAN