angular 使用传单插件等的传单 js
angular leaflet js using the leaflet plugins and more
我正在使用 leaflet 和 angularJS,因此 angular-directive for leaflet。我现在想使用自定义标记。例如这些船标记: https://github.com/thomasbrueggemann/leaflet.boatmarker 。
或者例如对于 'leaflet sliders' (https://github.com/dwilhelm89/LeafletSlider) 我需要使用 addControl 或 L.geoJson().
我现在的问题是,当我使用 angular 指令时,我没有这个 'L' 符号并且在我的控制器中没有真正的 'map' 对象。我真的不知道如何使用任何传单插件,因为该指令似乎非常有限。任何人都知道在 angular 指令中使用 leaflet stuff life 'addTo(map)' 的好方法?
加载 Leaflet javascript 资产后,您始终可以访问 L
对象,因为它附加到全局范围。只需在您的控制器中尝试 console.log(L);
,您就会看到。如果你想访问由指令创建的 L.Map
实例,你可以将 leafletData
注入你的控制器。它包含一个 getMap
方法,该方法 returns 一个承诺,当解决 returns 地图实例时:
angular.module('myApp').controller('myController', [
'leafletData',
function (leafletData) {
leafletData.getMap().then(function(map) {
new L.Marker([0,0]).addTo(map);
});
}
]);
我正在使用 leaflet 和 angularJS,因此 angular-directive for leaflet。我现在想使用自定义标记。例如这些船标记: https://github.com/thomasbrueggemann/leaflet.boatmarker 。 或者例如对于 'leaflet sliders' (https://github.com/dwilhelm89/LeafletSlider) 我需要使用 addControl 或 L.geoJson().
我现在的问题是,当我使用 angular 指令时,我没有这个 'L' 符号并且在我的控制器中没有真正的 'map' 对象。我真的不知道如何使用任何传单插件,因为该指令似乎非常有限。任何人都知道在 angular 指令中使用 leaflet stuff life 'addTo(map)' 的好方法?
加载 Leaflet javascript 资产后,您始终可以访问 L
对象,因为它附加到全局范围。只需在您的控制器中尝试 console.log(L);
,您就会看到。如果你想访问由指令创建的 L.Map
实例,你可以将 leafletData
注入你的控制器。它包含一个 getMap
方法,该方法 returns 一个承诺,当解决 returns 地图实例时:
angular.module('myApp').controller('myController', [
'leafletData',
function (leafletData) {
leafletData.getMap().then(function(map) {
new L.Marker([0,0]).addTo(map);
});
}
]);