angularjs - 如何在 Angular 用户界面中获取传单 map 中点击的纬度/经度信息

标签 angularjs angular-ui leaflet

我正在使用 Angular.js 和 Leaflet 构建一个非常基本的 Web 应用程序。

我正在尝试从 map 上的点击中获取纬度/经度信息,但我无法找到有关将 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

关于angularjs - 如何在 Angular 用户界面中获取传单 map 中点击的纬度/经度信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22875406/

相关文章:

javascript - 多边形内的 Leaflet 和 Turf.js 点

javascript - 如何在 d3 工具提示的 html 元素中使用 Angularjs 过滤器?

angularjs - $http 响应头信息

javascript - AngularJS:模板中的第二个应用程序不起作用

jquery - Angular UI-Calendar TypeError : calendar. fullCalendar 不是函数

javascript - AngularJS - 接受带有 ENTER 键的 ui.bootstrap 模式

meteor - 如何将 osm 坐标添加到我的 meteor 收藏中

javascript - 传单:使用复选框切换 GeoJSON 图层

javascript - 出于 SEO 目的使用 AngularJS 呈现静态可索引页面?

javascript - 如何在 window.location.href 中指定要下载的 csv 文件名