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

Commit ba9d6ef

Browse files
committed
fix(center): Solved the autodiscover problem reported by @facultymatt here:
tombatossals/angular-leaflet-directive#470
1 parent 4573100 commit ba9d6ef

File tree

3 files changed

+38
-25
lines changed

3 files changed

+38
-25
lines changed

dist/angular-leaflet-directive.js

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ angular.module("leaflet-directive", []).directive('leaflet', ["$q", "leafletData
88
restrict: "EA",
99
replace: true,
1010
scope: {
11-
center: '=center',
12-
defaults: '=defaults',
13-
maxbounds: '=maxbounds',
14-
bounds: '=bounds',
15-
markers: '=markers',
16-
legend: '=legend',
17-
geojson: '=geojson',
18-
paths: '=paths',
19-
tiles: '=tiles',
20-
layers: '=layers',
21-
controls: '=controls',
22-
decorations: '=decorations',
23-
eventBroadcast: '=eventBroadcast'
11+
center : '=center',
12+
defaults : '=defaults',
13+
maxbounds : '=maxbounds',
14+
bounds : '=bounds',
15+
markers : '=markers',
16+
legend : '=legend',
17+
geojson : '=geojson',
18+
paths : '=paths',
19+
tiles : '=tiles',
20+
layers : '=layers',
21+
controls : '=controls',
22+
decorations : '=decorations',
23+
eventBroadcast : '=eventBroadcast'
2424
},
2525
transclude: true,
2626
template: '<div class="angular-leaflet-map"><div ng-transclude></div></div>',
@@ -73,15 +73,19 @@ angular.module("leaflet-directive", []).directive('leaflet', ["$q", "leafletData
7373
}
7474

7575
// Set zoom control configuration
76-
if (isDefined(map.zoomControl) && isDefined(defaults.zoomControlPosition)) {
76+
if (isDefined(map.zoomControl) &&
77+
isDefined(defaults.zoomControlPosition)) {
7778
map.zoomControl.setPosition(defaults.zoomControlPosition);
7879
}
7980

80-
if(isDefined(map.zoomControl) && defaults.zoomControl===false) {
81+
if (isDefined(map.zoomControl) &&
82+
defaults.zoomControl===false) {
8183
map.zoomControl.removeFrom(map);
8284
}
8385

84-
if(isDefined(map.zoomsliderControl) && isDefined(defaults.zoomsliderControl) && defaults.zoomsliderControl===false) {
86+
if (isDefined(map.zoomsliderControl) &&
87+
isDefined(defaults.zoomsliderControl) &&
88+
defaults.zoomsliderControl===false) {
8589
map.zoomsliderControl.removeFrom(map);
8690
}
8791

@@ -103,6 +107,9 @@ angular.module("leaflet-directive", []).directive('leaflet', ["$q", "leafletData
103107
});
104108

105109
scope.$on('$destroy', function () {
110+
leafletData.getMap().then(function(map) {
111+
map.remove();
112+
});
106113
leafletData.unresolveMap(attrs.id);
107114
});
108115
}
@@ -995,9 +1002,9 @@ angular.module("leaflet-directive").directive('paths', ["$log", "$q", "leafletDa
9951002
}
9961003
}
9971004

998-
});
1005+
}, true);
9991006

1000-
}, true);
1007+
});
10011008
});
10021009
}
10031010
};
@@ -3406,8 +3413,11 @@ angular.module("leaflet-directive").factory('leafletHelpers', ["$q", "$log", fun
34063413
isSameCenterOnMap: function(centerModel, map) {
34073414
var mapCenter = map.getCenter();
34083415
var zoom = map.getZoom();
3409-
if (mapCenter.lat.toFixed(4) === centerModel.lat.toFixed(4) && mapCenter.lng.toFixed(4) === centerModel.lng.toFixed(4) && zoom === centerModel.zoom) {
3410-
return true;
3416+
if (centerModel.lat && centerModel.lng &&
3417+
mapCenter.lat.toFixed(4) === centerModel.lat.toFixed(4) &&
3418+
mapCenter.lng.toFixed(4) === centerModel.lng.toFixed(4) &&
3419+
zoom === centerModel.zoom) {
3420+
return true;
34113421
}
34123422
return false;
34133423
},

0 commit comments

Comments
 (0)