0
タイトルは最良の説明ではありません。私は、各ビール瓶のカスタムアイコンを各マーカーに使用するビールフレーバーグラフ(地図タイルは関係ありません)を作成しています。ここまでは順調ですね。リーフレット - マーカークリックでポップアップではなくjsonからデータを取得
各マーカーをクリックしたときに、私は同じボトルのアイコンに使用PNG(より大きな)を表示するマップ、外のdivを持ってscreenshot of the current build
...
for (var i=0; i < markers.length; ++i)
{
var IconVar = L.icon({
iconUrl: markers[i].bottleurl,
shadowUrl: 'images/beer-shadow.png',
iconSize: [36, 120],
shadowSize: [74, 50],
iconAnchor: [16, 60],
shadowAnchor: [35, -26],
popupAnchor: [0, -65]
})
var bigbottleUrl = markers[i].bottleurl;
L.marker([markers[i].lat, markers[i].lng], {icon: IconVar},)
.bindPopup('Text and some custom content bla bla', customOptions)
.on('click', function(e){document.getElementById("bigbottle").src = bigbottleUrl;}).addTo(beermap);
}
これはポイントに作用しますが、デフォルトではjsonファイルから設定された最後のマーカーになります。たぶんループ内から別の変数を呼び出すことができないか、ループを正しく設定していない可能性があります。
私はここでたくさんの質問を見て、e.popup._sourceとthis.optionを使って具体的にしてみました。具体的には_leaflet_idを使っていますが、私はJavaScriptの理解を超えています!
アイデア?
色が似ています! :-) – ghybs
これは古典的なJavaScriptの初心者の間違いです。クロージャー、コールバック、バインド値を探します。 – ghybs
私はそれを避け、もっと簡単なことを望んでいました!ロードしたい画像はマーカーですが、これは近いです... [onclick](https://stackoverflow.com/questions/10270937/how-to-get-image-source-path-on-onclick-event-イメージクリックされた) – Cmeet