From 6458f7ed848479eef9700705adeed4a405d5ddd5 Mon Sep 17 00:00:00 2001 From: ev4debug Date: Wed, 13 Jul 2016 12:41:01 +0200 Subject: [PATCH 1/2] Update leaflet.timedimension.js When one or more layers with limited bounds are out the visible map, isReady(time) nevere return true. with this code: var URL='http://thredds.emodnet-physics.eu/thredds/wms/fmrc/SOCIBlast60days/Socib_Last_60_Days_Socib_HFRadar?' var radarSource = new L.tileLayer.wms(URL, { layers: 'sea_water_velocity', format: 'image/png', transparent: true, colorscalerange: '0,0.75', abovemaxcolor: "extend", belowmincolor: "extend", bounds: L.latLngBounds(["38.323", "0.50384"], ["39.1067", "1.40066"]), }).addTo(map); var radarTimeLayer = L.timeDimension.layer.wms(radarSource, { updateTimeDimension: true, name: 'sea_water_velocity', units: "m/s", }).addTo(map); when the visible bounds does not contains L.latLngBounds(["38.323", "0.50384"], [["39.1067", "1.40066"]), isReady is always false --- src/leaflet.timedimension.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/leaflet.timedimension.js b/src/leaflet.timedimension.js index 6f1c026..6583524 100644 --- a/src/leaflet.timedimension.js +++ b/src/leaflet.timedimension.js @@ -98,18 +98,19 @@ L.TimeDimension = (L.Layer || L.Class).extend({ }); this._loadingTimeIndex = -1; }, - + _checkSyncedLayersReady: function (time) { for (var i = 0, len = this._syncedLayers.length; i < len; i++) { if (this._syncedLayers[i].isReady) { if (!this._syncedLayers[i].isReady(time)) { - return false; + if (map.getBounds().contains(this._syncedLayers[i]._baseLayer.options.bounds)) + return false; } } } return true; }, - + setCurrentTime: function (time) { var newIndex = this._seekNearestTimeIndex(time); this.setCurrentTimeIndex(newIndex); From ad64a89eae94b4678fb3e4a57ab1119a87672667 Mon Sep 17 00:00:00 2001 From: Marco Alba Date: Fri, 14 Jul 2017 11:54:15 +0200 Subject: [PATCH 2/2] removed modified code in 'L.TimeDimension._checkSyncedLayersReady' function inserted the bounds check in "L.TimeDimension.Layer.WMS.isReady" function --- src/leaflet.timedimension.js | 3 +-- src/leaflet.timedimension.layer.wms.js | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/leaflet.timedimension.js b/src/leaflet.timedimension.js index 6583524..ed71afb 100644 --- a/src/leaflet.timedimension.js +++ b/src/leaflet.timedimension.js @@ -103,8 +103,7 @@ L.TimeDimension = (L.Layer || L.Class).extend({ for (var i = 0, len = this._syncedLayers.length; i < len; i++) { if (this._syncedLayers[i].isReady) { if (!this._syncedLayers[i].isReady(time)) { - if (map.getBounds().contains(this._syncedLayers[i]._baseLayer.options.bounds)) - return false; + return false; } } } diff --git a/src/leaflet.timedimension.layer.wms.js b/src/leaflet.timedimension.layer.wms.js index 51173ef..03f4bc4 100644 --- a/src/leaflet.timedimension.layer.wms.js +++ b/src/leaflet.timedimension.layer.wms.js @@ -58,6 +58,9 @@ L.TimeDimension.Layer.WMS = L.TimeDimension.Layer.extend({ isReady: function(time) { var layer = this._getLayerForTime(time); + if (this.options.bounds && this._map) + if (!this._map.getBounds().contains(this.options.bounds)) + return true; return layer.isLoaded(); },