')
.addClass('base-layers')
- .appendTo(this.$ui);
+ .appendTo($ui);
$('')
.text(I18n.t('javascripts.map.layers.base'))
@@ -94,25 +55,42 @@ L.OSM.Layers = L.Control.extend({
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);
+ .addLayer(new layer.constructor());
miniMap.dragging.disable();
miniMap.touchZoom.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);
+ }
+
+ function hide() {
+ map.off('moveend', setView);
+ }
- div.data('map', miniMap);
+ function setView() {
+ miniMap.setView(map.getCenter(), Math.max(map.getZoom() - 2, 0));
+ }
});
var label = $('