Skip to content
This repository was archived by the owner on Sep 20, 2019. It is now read-only.

Commit bbeb54e

Browse files
committed
fix: bad caching for _layerControl
1 parent 8d9ccaf commit bbeb54e

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/services/leafletControlHelpers.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
angular.module("leaflet-directive").factory('leafletControlHelpers', function ($rootScope, $log, leafletHelpers, leafletMapDefaults) {
22
var isObject = leafletHelpers.isObject,
33
isDefined = leafletHelpers.isDefined;
4-
var _layersControl;
4+
var _controls = {};
55

66
var _controlLayersMustBeVisible = function(baselayers, overlays, mapId) {
77
var defaults = leafletMapDefaults.getDefaults(mapId);
@@ -44,6 +44,7 @@ angular.module("leaflet-directive").factory('leafletControlHelpers', function ($
4444
updateLayersControl: function(map, mapId, loaded, baselayers, overlays, leafletLayers) {
4545
var i;
4646

47+
var _layersControl = _controls[mapId];
4748
var mustBeLoaded = _controlLayersMustBeVisible(baselayers, overlays, mapId);
4849
if (isDefined(_layersControl) && loaded) {
4950
for (i in leafletLayers.baselayers) {
@@ -53,10 +54,12 @@ angular.module("leaflet-directive").factory('leafletControlHelpers', function ($
5354
_layersControl.removeLayer(leafletLayers.overlays[i]);
5455
}
5556
_layersControl.removeFrom(map);
57+
delete _controls[mapId];
5658
}
5759

5860
if (mustBeLoaded) {
5961
_layersControl = _createLayersControl(mapId);
62+
_controls[mapId] = _layersControl;
6063
for (i in baselayers) {
6164
var hideOnSelector = isDefined(baselayers[i].layerOptions) &&
6265
baselayers[i].layerOptions.showOnSelector === false;

0 commit comments

Comments
 (0)