检测 angular 传单地图上的右键单击位置
Detecting right click position on angular leaflet map
我有一个使用 angular-leaflet-directive 0.7.11 显示地图的移动页面,并且已经声明了我需要的事件,如下所示:
$scope.map = {
events: [
'mousedown',
'contextmenu'
],
...
}
$scope.$on('leafletDirectiveMap.mousedown', function (event) {
debugger;
});
在调试器语句所在的位置,event
变量不包含有关地图点击位置的信息。当触发 contextmenu
事件时,指令提供了相同的 event
格式。
事实上,如果我检查整个 event
变量,它只是一个 Object
,而不是 Event
:
the docs wrong? Is the example 是不是遗漏了什么?如何获得我右击(按住)的特定位置的 X/Y 或 Lat/Lng?
您需要使用'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}
});
});
});
}]);
我有一个使用 angular-leaflet-directive 0.7.11 显示地图的移动页面,并且已经声明了我需要的事件,如下所示:
$scope.map = {
events: [
'mousedown',
'contextmenu'
],
...
}
$scope.$on('leafletDirectiveMap.mousedown', function (event) {
debugger;
});
在调试器语句所在的位置,event
变量不包含有关地图点击位置的信息。当触发 contextmenu
事件时,指令提供了相同的 event
格式。
事实上,如果我检查整个 event
变量,它只是一个 Object
,而不是 Event
:
the docs wrong? Is the example 是不是遗漏了什么?如何获得我右击(按住)的特定位置的 X/Y 或 Lat/Lng?
您需要使用'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}
});
});
});
}]);