我有一个使用angular-leaflet-directive 0.7.11显示地图的移动页面,并已声明我所需的事件:
$scope.map = {
events: [
'mousedown',
'contextmenu'
],
...
}
$scope.$on('leafletDirectiveMap.mousedown', function (event) {
debugger;
});
调试器语句所在的位置,event
变量不包含有关单击地图位置的信息。当event
事件被触发时,指令提供了相同的contextmenu
格式。
事实上,如果我检查整个event
变量,它只是Object
,而不是Event
:
the docs错了吗? the example遗漏了什么吗?如何获取我右键单击(点按)特定位置的X / Y 或 Lat / Lng?
答案 0 :(得分:1)
您需要使用'leafletEvent'。试试这个:
myApp.controller('YourController', ['$scope', 'leafletEvent', function($scope) {
$scope.$on('leafletDirectiveMap.mousedown', function (event, leafletEvent) {
leafletData.getMap().then(function(map) {
map.on('click', function(e) {
console.log('e');
console.log(e);
console.log('e.latlng:');
console.log(e.latlng); // L.LatLng {lat: 19.642587534013046, lng: -4.5703125}
});
});
});
}]);