Revision fc4f8c8d
Added by Andreas Kohlbecker over 3 years ago
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
ref #9224 reporting WMS tile loading errors per layer in the message console