我正在使用Angular.js和Leaflet构建一个非常基本的Web应用程序.
我正在尝试从地图上的点击获取lat / lng信息,但我无法找到任何关于将Leaflet中的事件处理程序集成到Angular中的文档.
如果有人能指出我正确的方向,我会被激怒.
代码如下:
app.controller("eventcrtl",[ '$scope',function($scope) { $scope.$on('leafletDirectiveMap.click',function(event){ console.log(event.latlng); }); }]);
不起作用
解决方法
要处理事件,首先在范围上定义事件对象…
angular.extend($scope,{ events: { map: { enable: ['click','drag','blur','touchstart'],logic: 'emit' } },...
并将其添加到您的传单元素.
<leaflet event-broadcast="events"></leaflet>
然后,您可以在单击处理程序的args参数内访问纬度和经度:
$scope.$on('leafletDirectiveMap.click',function(event,args){ console.log(args.leafletEvent.latlng); });
这是一个有效的演示:http://plnkr.co/PxRDhz6S5Svsg9FG4VRk