2016-01-31 22 views
1

我正在使用传单和angularJS,因此传单的角度指示。我现在想要使用自定义标记。例如这些船只标记:https://github.com/thomasbrueggemann/leaflet.boatmarker。 或者例如'传单滑块'(https://github.com/dwilhelm89/LeafletSlider)我需要使用addControl或L.geoJson()。使用小册子插件和更多的角度传单js

我现在的问题是,当我使用角度指令时,我没有这个'L'符号,并且在我的控制器中没有真正的'地图'对象。我真的不知道如何使用任何传单插件,因为这个指令看起来非常有限。任何人都知道在角度指令中使用传单材料生活'addTo(map)'的好方法吗?

回答

2

加载Leaflet javascript资源后,您始终可以访问L对象,因为它已连接到全局范围。只需在控制器中尝试console.log(L);即可看到。如果您想访问由指令创建的0​​实例,则可以将leafletData注入到控制器中。它包含一个返回承诺的getMap方法,当解析返回地图实例时:

angular.module('myApp').controller('myController', [ 
      'leafletData', 
    function (leafletData) { 
     leafletData.getMap().then(function(map) { 
      new L.Marker([0,0]).addTo(map); 
     }); 
    } 
]);