map.whenReady(function() {
var miniMap = L.map(div[0], {attributionControl: false, zoomControl: false})
- .setView(map.getCenter(), Math.max(map.getZoom() - 2, 0))
.addLayer(new layer.constructor);
miniMap.dragging.disable();
miniMap.doubleClickZoom.disable();
miniMap.scrollWheelZoom.disable();
- map.on('moveend', function() {
- miniMap.setView(map.getCenter(), Math.max(map.getZoom() - 2, 0));
- });
+ $ui
+ .on('show', shown)
+ .on('hide', hide);
+
+ function shown() {
+ miniMap.invalidateSize();
+ setView();
+ map.on('moveend', setView);
+ }
- div.data('map', miniMap);
+ function hide() {
+ map.off('moveend', setView);
+ }
+
+ function setView() {
+ miniMap.setView(map.getCenter(), Math.max(map.getZoom() - 2, 0));
+ }
});
var label = $('<label>')
options.sidebar.addPane($ui);
- $ui
- .on('show', shown);
-
- function shown() {
- $ui.find('.base-layers .leaflet-container').each(function() {
- $(this).data('map').invalidateSize();
- });
- }
-
function toggle(e) {
e.stopPropagation();
e.preventDefault();