Commit 1a3b51a3 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Corrige orden de capas de mapa

Refactoriza ordenación de capas en mapa Leaflet, colocando las capas
base siempre con zindex a 0, luego las opcionales en el orden en que
aparezcan y por último las que se seleccionen para trabajar, sobre todas
las anteriores.

Limpia capa antigua y métodos no usados.
parent d8ea5873
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -246,16 +246,6 @@ define([
			this.map.removeLayer(layer);
		},

		bringLayerToFront: function(layer) {

			layer.bringToFront && layer.bringToFront();
		},

		bringLayerToBack: function(layer) {

			layer.bringToBack && layer.bringToBack();
		},

		getBounds: function() {

			var bounds = this.map.getBounds(),
+25 −8
Original line number Diff line number Diff line
@@ -257,6 +257,7 @@ define([

			this._cleanOtherBaseLayers(layerInstance);
			this.addLayer(layerInstance, layerId);
			this._setLayerZIndex(layerInstance, 0);
		},

		_createBaseLayer: function(layerId) {
@@ -302,7 +303,7 @@ define([
			}

			var optional = obj.optional,
				order = obj.order ? obj.order + 1 : null,
				order = obj.order,
				layerId = this._getLayerId(obj) || uuid.v4(),
				layerLabel = obj.layerLabel || layerId;

@@ -327,19 +328,32 @@ define([

			if (optional) {
				this._addLayerToSelector(layer, layerLabel, true);
			} else {
				if (order) {
					var nextOrder = 0;
					for (var key in this._overlayLayers) {
						var overlayLayer = this._overlayLayers[key];
						if (overlayLayer.optional) {
							nextOrder++;
						}
					}
					order += nextOrder;
				}
			}

			if (!this._overlayLayers[layerId]) {
				this._overlayLayers[layerId] = {
			var overlayLayerObj = this._overlayLayers[layerId];

			if (!overlayLayerObj) {
				overlayLayerObj = this._overlayLayers[layerId] = {
					instance: layer,
					optional: !!optional
				};
			} else {
				this._setLayerZIndex(layer, this._overlayLayers[layerId].order);
				this._setLayerZIndex(layer, overlayLayerObj.order);
			}

			if (order) {
				this._overlayLayers[layerId].order = order;
				overlayLayerObj.order = order;
				this._setLayerZIndex(layer, order);
			}
		},
@@ -679,11 +693,14 @@ define([
			}

			for (var i = 0; i < this._optionalLayerKeys.length; i++) {
				var optionalLayerKey = this._optionalLayerKeys[i];
				var optionalLayerKey = this._optionalLayerKeys[i],
					layerInstance = this._getStaticLayerInstance(optionalLayerKey);

				this._addMapLayer({
					layer: this._getStaticLayerInstance(optionalLayerKey),
					layer: layerInstance,
					layerId: optionalLayerKey,
					optional: true
					optional: true,
					order: i + 1
				});
			}
		},
+0 −14
Original line number Diff line number Diff line
@@ -38,20 +38,6 @@ define({
		}
	},

	'redmic': {
		//basemap: true,
		protocol: 'WMS-C',
		url: 'https://atlas.redmic.es/geoserver/basemap/wms',
		props: {
			layers: 'Redmic',
			format: 'image/jpeg',
			attribution: '<a href="https://redmic.es" target="_blank" title="Repositorio de datos marinos integrados de Canarias">REDMIC</a>',
			minZoom: 1,
			maxZoom: 18,
			tiled: true
		}
	},

	'eoc-map': {
		basemap: true,
		order: 1,
+2 −0
Original line number Diff line number Diff line
@@ -195,6 +195,8 @@ define([
			var layerInstance = evt.layer,
				layerId = layerInstance._leaflet_id;

			this._setLayerZIndex(layerInstance, 0);

			this._emitEvt('TRACK', {
				type: TRACK.type.event,
				info: {