回答:
一方では、Leafletがマウス(またはタッチ)イベントを処理するたびoriginalEvent
に、イベントのプロパティで元のDOMイベントにアクセスできます。
一方:マウス(またはタッチ)DOMイベントを考えると、リーフレットは魔法のその翻訳できるclientX
とclientY
のインスタンスにプロパティをL.LatLng
使用することによってmap.mouseEventToLatLng()
。
これら2つを組み合わせると、次のようなものが得られます。
marker.on('click', function(ev){
var latlng = map.mouseEventToLatLng(ev.originalEvent);
console.log(latlng.lat + ', ' + latlng.lng);
});
他の変換方法が役立つ場合があるので、Leafletのドキュメントを確認してください。
Leafletオブジェクトマップからいつでも座標を取得できます。次のようなものを使用できます。
map.on('click', function(e){
var coord = e.latlng;
var lat = coord.lat;
var lng = coord.lng;
console.log("You clicked the map at latitude: " + lat + " and longitude: " + lng);
});
ここに実際の例があります。
cesium
タグを付けると、もっと良い答えが得られるでしょう。
var latlng = self._map.containerPointToLatLng([event.originalEvent.clientX - vpWidthDifference, event.originalEvent.clientY - vpHeightDifference]);