私のサイトは、leaflet.markerclusters プラグインを使用した Leaflet マップで構成されています。また、Flowplayer を使用して、セレクター ID「#video1」を使用して JQuery ツール オーバーレイで開くビデオを再生しています。
現在、マップ上の任意のマーカーをクリックすると、テスト ビデオがオーバーレイで表示されます。私の目標は、クラスター内の各マーカーに固有のクリック イベントを作成することです。最終的には、すべてのマーカーに、そのマーカーに固有のビデオを起動するクリック イベントを持たせたいと考えています。
私は初心者ですが、これまでよく文書化されたこれらのライブラリを使用してうまくいっていました。しかし、私にはこの現在のギャップを埋めるスキルがありません。誰かが私を正しい方向に押してくれませんか?以下は、私の JS Fiddle へのリンクです。私の問題は JavaScript の 2098 行目から始まります。
var markers = new L.MarkerClusterGroup();
var addressPoints = [
[40.634902, -73.965054, "Video1"],
[40.660897, -73.961082, "Video2"],
[40.693353, -73.970413, "Video3"],
[40.693289, -73.966289, "Video4"],
[40.68973, -73.971007, "Video5"],
[40.718423, -73.957428, "Video6"],
[40.71817, -73.956918, "Video7"],
[40.681427, -73.993959, "Video8"]
];
for (var i = 0; i < addressPoints.length; i++) {
var a = addressPoints[i];
var title = a[2];
var marker = new L.Marker(new L.LatLng(a[0], a[1]), {
title: title
});
marker.bindPopup(title);
markers.addLayer(marker);
}
map.addLayer(markers);
//assign video div ID to overlay
$('#video1').overlay({
load: false,
top: "center",
left: "center"
});
//bind marker click event to overylay
markers.on('click', function () {
$("#video1").data("overlay").load();
});
ありがとう、ジョーイ