@@ -715,8 +715,8 @@ angular.module("leaflet-directive").directive('layers', ["$log", "$q", "leafletD
715715 }
716716 }
717717 // If there is no active layer make one active
718- if ( ! found && Object . keys ( layers . baselayers ) . length > 0 ) {
719- map . addLayer ( leafletLayers . baselayers [ Object . keys ( layers . baselayers ) [ 0 ] ] ) ;
718+ if ( ! found && Object . keys ( leafletLayers . baselayers ) . length > 0 ) {
719+ map . addLayer ( leafletLayers . baselayers [ Object . keys ( leafletLayers . baselayers ) [ 0 ] ] ) ;
720720 }
721721
722722 // Only show the layers switch selector control if we have more than one baselayer + overlay
@@ -2610,7 +2610,7 @@ angular.module("leaflet-directive").factory('leafletLayerHelpers', ["$rootScope"
26102610angular . module ( "leaflet-directive" ) . factory ( 'leafletControlHelpers' , [ "$rootScope" , "$log" , "leafletHelpers" , "leafletMapDefaults" , function ( $rootScope , $log , leafletHelpers , leafletMapDefaults ) {
26112611 var isObject = leafletHelpers . isObject ,
26122612 isDefined = leafletHelpers . isDefined ;
2613- var _layersControl ;
2613+ var _controls = { } ;
26142614
26152615 var _controlLayersMustBeVisible = function ( baselayers , overlays , mapId ) {
26162616 var defaults = leafletMapDefaults . getDefaults ( mapId ) ;
@@ -2653,6 +2653,7 @@ angular.module("leaflet-directive").factory('leafletControlHelpers', ["$rootScop
26532653 updateLayersControl : function ( map , mapId , loaded , baselayers , overlays , leafletLayers ) {
26542654 var i ;
26552655
2656+ var _layersControl = _controls [ mapId ] ;
26562657 var mustBeLoaded = _controlLayersMustBeVisible ( baselayers , overlays , mapId ) ;
26572658 if ( isDefined ( _layersControl ) && loaded ) {
26582659 for ( i in leafletLayers . baselayers ) {
@@ -2662,10 +2663,12 @@ angular.module("leaflet-directive").factory('leafletControlHelpers', ["$rootScop
26622663 _layersControl . removeLayer ( leafletLayers . overlays [ i ] ) ;
26632664 }
26642665 _layersControl . removeFrom ( map ) ;
2666+ delete _controls [ mapId ] ;
26652667 }
26662668
26672669 if ( mustBeLoaded ) {
26682670 _layersControl = _createLayersControl ( mapId ) ;
2671+ _controls [ mapId ] = _layersControl ;
26692672 for ( i in baselayers ) {
26702673 var hideOnSelector = isDefined ( baselayers [ i ] . layerOptions ) &&
26712674 baselayers [ i ] . layerOptions . showOnSelector === false ;
0 commit comments