Project

General

Profile

« Previous | Next » 

Revision fc4f8c8d

Added by Andreas Kohlbecker over 3 years ago

ref #9224 reporting WMS tile loading errors per layer in the message console

View differences:

modules/cdm_dataportal/js/map/openlayers_map.js
290 290
            var errorMessage = errorThrown != undefined ? errorThrown : 'unspecified error';
291 291
            log(textStatus + " requesting  " + requestUrl + " failed due to " + errorMessage, true);
292 292
            errorMessageCtl.show();
293
            errorMessageCtl.add(textStatus + ":" + errorThrown);
293
            errorMessageCtl.addErrorMessage(textStatus + ":" + errorThrown);
294
        }
295

  
296
        function reportWMSError(layer) {
297
            log('Loading of WMS layer ' + layer.name + ' failed.', true);
298
            errorMessageCtl.show();
299
            errorMessageCtl.addErrorMessage('Loading of WMS layer ' + layer.name + ' failed');
294 300
        }
295 301

  
296 302
        /**
......
338 344
            }
339 345

  
340 346
            mapServiceRequest = mapserverBaseUrl + mapServicePath + '/' + mapserverVersion + '/rest_gen.php?' + distributionQuery;
347
            log("area data map service request:" + mapServiceRequest);
341 348

  
342 349
            LAYER_DATA_CNT++;
343 350
            jQuery.ajax({
......
345 352
              dataType: "json",
346 353
                // timeout: layerLoadingTimeout,
347 354
              success: function(data){
348
                  var layers = createDataLayer(data, "AREA");
355
                  var layers = createDataLayers(data, "AREA");
349 356
                  addLayers(layers);
350 357
                // layerDataLoaded(); will be called after reading the projection from the WFS
351 358
                // for the data layer, see readProjection()
......
375 382
            }
376 383

  
377 384
            mapServiceRequest = mapserverBaseUrl + mapServicePath + '/' + mapserverVersion + '/rest_gen.php?' + occurrenceQuery;
378
            log(mapServiceRequest);
379
            return;
385
            log("Point data map service request:" + mapServiceRequest);
380 386

  
381 387
            LAYER_DATA_CNT++;
382 388
            jQuery.ajax({
383 389
              url: mapServiceRequest,
384 390
              dataType: "json",
385 391
              success: function(data){
386
                  var layers = createDataLayer(data, "POINT");
392
                  var layers = createDataLayers(data, "POINT");
387 393
                  addLayers(layers);
388 394
                  // layerDataLoaded(); will be called after reading the projection from the WFS for the data layer
389 395
              },
......
709 715
         * @param dataType
710 716
         *   either "AREA" or "POINT"
711 717
         */
712
        var createDataLayer = function(mapResponseArray, dataType){
718
        var createDataLayers = function(mapResponseArray, dataType){
713 719

  
714
          console.log("createDataLayer() : creating data layer of type " + dataType);
720
          console.log("createDataLayers() : creating data layer of type " + dataType);
715 721

  
716 722
          var dataLayerOptions = makeWMSLayerOptions();
717 723
          dataLayerOptions.displayOutsideMaxExtent = true; // move into makeWMSLayerOptions?
......
719 725
          var layers = [];
720 726
          // add additional layers, get them from the mapResponseObj
721 727
          if(mapResponseArray !== undefined){
722
             var mapResponseObj = mapResponseArray[0];
728
              var mapResponseObj = mapResponseArray[0];
729
             // ----------- POINT  -----------
723 730
            if(dataType === "POINT" && mapResponseObj.points_sld !== undefined){
724 731
              var pointLayer;
725 732
              // it is a response for an point map
......
754 761

  
755 762
              layers.push(pointLayer);
756 763
            } else {
757
              // it is a response from for a distribution map
758
              console.log("createDataLayer() : start with adding distribution layers :");
764
                // ----------- AREA  -----------
765
                // it is a response from for a distribution map
759 766
              for ( var i in mapResponseObj.layers) {
760 767
                var layerData = mapResponseObj.layers[i];
761

  
762 768
                var layerName = fixLayerName(layerData);
763
                console.log(" " + i +" -> " +layerName);
769
                console.log(" " + i +" -> " + layerName);
764 770
                var layer = new OpenLayers.Layer.WMS(
765 771
                  layerName,
766
                  mapResponseObj.geoserver + "/wms",
772
                  mapResponseObj.geoserver,
767 773
                  {
768 774
                      layers: fixLayerName(layerData),
769 775
                      transparent:"true",
......
773 779
                  );
774 780
                layer.params.SLD = layerData.sld;
775 781
                layer.setOpacity(opts.distributionOpacity);
776

  
777 782
                layers.push(layer);
778 783
              }
779 784
            }
......
1158 1163

  
1159 1164
      var makeWMSLayerOptions = function(projection, proj4js_def, maxExtent, units, untiled) {
1160 1165
        var wmsOptions = {
1161
          isBaseLayer: false,
1162
          displayInLayerSwitcher: true
1166
            isBaseLayer: false,
1167
            displayInLayerSwitcher: true,
1168
            tileOptions: {
1169
                eventListeners: {
1170
                    'loaderror': function (evt) {
1171
                        reportWMSError(evt.object.layer);
1172
                    }
1173
                }
1174
            }
1163 1175
        };
1164 1176

  
1165 1177
        if (projection) {
......
1400 1412
                },
1401 1413
                show: function(){
1402 1414
                    this.div.style.display = 'flex';
1415
                    this.div.style.position = 'relative';
1416
                    this.div.style.padding = '10px 20px 20px 70px';
1403 1417
                },
1404 1418

  
1405 1419
                draw: function () {

Also available in: Unified diff