2

リーフレット API を 2 日から行っています。予期しない動作を引き起こす関数呼び出しで立ち往生しています。コードは次のとおりです

var it=0;
 
var map = L.map('map1', {
    center:[51.505,-0.09],
    zoom: 2,
});
 
L.tileLayer('http://{s}.tile.cloudmade.com/c77b2fb7bfb74f74998061abda20d58f/997/256/{z}/{x}/{y}.png',{
    attribution: '2013 &copy @ Rajat/Akshat',
    maxZoom: 18
}).addTo(map);
 
var marker = L.marker([51.5,-0.09], {draggable: true, opacity: 0.8}).addTo(map);

function onDragEnd(e) {
    var lat_marker = e.target._latlng.lat;
    var lng_marker = e.target._latlng.lng;      
}

var i=6;
marker.on('dragend',onDragEnd(event));

map1 divID が HTML ページに作成されました。

今問題はこの関数です:

marker.on('dragend',onDragEnd(event));

このエラーが表示されます

ReferenceError: イベントが定義されていません

marker.on('dragend',onDragEnd(event));

しかし、引数なしで渡すとmarker.on('dragend',onDragEnd());機能します。

また、関数に独自のパラメーターを追加したい:

marker.on('dragend',onDragEnd(i));

i単純な変数はどこにありますか。しかし、この関数には何か問題があり、期待どおりに動作しません。

4

1 に答える 1