リーフレット 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 © @ 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 div
ID が HTML ページに作成されました。
今問題はこの関数です:
marker.on('dragend',onDragEnd(event));
このエラーが表示されます
ReferenceError: イベントが定義されていません
marker.on('dragend',onDragEnd(event));
しかし、引数なしで渡すとmarker.on('dragend',onDragEnd());
機能します。
また、関数に独自のパラメーターを追加したい:
marker.on('dragend',onDragEnd(i));
i
単純な変数はどこにありますか。しかし、この関数には何か問題があり、期待どおりに動作しません。