ui.leaflet.webpack
Version:
Webpack version of ui-leaflet (https://github.com/angular-ui/ui-leaflet)
41 lines (35 loc) • 1.47 kB
JavaScript
//angular.module('ui-leaflet').directive('maxbounds',
/** @ngInject */
module.exports = [
'leafletLogger', 'leafletMapDefaults', 'leafletBoundsHelpers', 'leafletHelpers'
,function (leafletLogger, leafletMapDefaults, leafletBoundsHelpers, leafletHelpers) {
// var $log = leafletLogger;
return {
restrict: "A",
scope: false,
replace: false,
require: 'leaflet',
link: function(scope, element, attrs, controller) {
var leafletScope = controller.getLeafletScope(),
isValidBounds = leafletBoundsHelpers.isValidBounds,
isNumber = leafletHelpers.isNumber;
controller.getMap().then(function(map) {
leafletScope.$watch("maxbounds", function (maxbounds) {
if (!isValidBounds(maxbounds)) {
// Unset any previous maxbounds
map.setMaxBounds();
return;
}
var leafletBounds = leafletBoundsHelpers.createLeafletBounds(maxbounds);
if(isNumber(maxbounds.pad)) {
leafletBounds = leafletBounds.pad(maxbounds.pad);
}
map.setMaxBounds(leafletBounds);
if (!attrs.center && !attrs.lfCenter) {
map.fitBounds(leafletBounds);
}
});
});
}
};
}];