')
+ .appendTo(item);
- this._ui = $(L.DomUtil.create('div', 'layers-ui', this.options.uiPane))
- .html(JST["templates/map/layers"]());
+ map.whenReady(function() {
+ var miniMap = L.map(div[0], {attributionControl: false, zoomControl: false})
+ .addLayer(new layer.constructor());
- var list = this._ui.find('.base-layers ul');
+ miniMap.dragging.disable();
+ miniMap.touchZoom.disable();
+ miniMap.doubleClickZoom.disable();
+ miniMap.scrollWheelZoom.disable();
- this.options.layers.forEach(function(layer) {
- var item = $('
')
- .appendTo(list);
+ $ui
+ .on('show', shown)
+ .on('hide', hide);
- if (this._map.hasLayer(layer)) {
- item.addClass('active');
- }
+ function shown() {
+ miniMap.invalidateSize();
+ setView({animate: false});
+ map.on('moveend', moved);
+ }
- var div = $('
')
- .appendTo(item);
+ function hide() {
+ map.off('moveend', moved);
+ }
- this._map.whenReady(function() {
- var map = L.map(div[0], {attributionControl: false, zoomControl: false})
- .setView(this._map.getCenter(), Math.max(this._map.getZoom() - 2, 0))
- .addLayer(new layer.constructor);
+ function moved() {
+ setView();
+ }
- map.dragging.disable();
- map.touchZoom.disable();
- map.doubleClickZoom.disable();
- map.scrollWheelZoom.disable();
- }, this);
+ function setView(options) {
+ miniMap.setView(map.getCenter(), Math.max(map.getZoom() - 2, 0), options);
+ }
+ });
- var label = $('
')
- .text(layer.options.name)
+ var label = $('