0

我有一个使用angular-leaflet-directive 0.7.11 显示地图的移动页面,并声明了我需要的事件,如下所示:

$scope.map = {
    events: [
        'mousedown',
        'contextmenu'
    ],
    ...
}

$scope.$on('leafletDirectiveMap.mousedown', function (event) {
    debugger;
});

在调试器语句所在的位置,该event变量不包含有关单击地图的位置的信息。触发事件event时,指令提供了相同的格式。contextmenu

事实上,如果我检查整个event变量,它只是一个Object,而不是一个Event

事件

文档错了吗?该示例是否缺少某些内容?如何获得我右键单击(长按)的特定位置的 X/Y或Lat/Lng?

4

1 回答 1

1

您需要使用“传单事件”。试试这个:

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}
            });
        });
    });
}]);
于 2015-06-16T12:29:57.857 回答