Skip to content
Permalink
Browse files

Geomap: added WMS overlay capability with support for graphic and HTM…

…L legends, cql_queries, and layer opacity.
  • Loading branch information...
jvanulde committed Jan 21, 2015
1 parent d3d45a4 commit 7b7e5cf8fd2b6994f29c9a421a6173efc29875a7
@@ -200,6 +200,7 @@ wb.i18nDict = {
"geo-geoloc-btn": "@geo-geoloc-btn@",
"geo-geoloc-fail": "@geo-geoloc-fail@",
"geo-geoloc-uncapable": "@geo-geoloc-uncapable@",
"geo-lgnd-grphc": "@geo-lgnd-grphc@",
/* Disable/enable WET plugins and polyfills */
"wb-disable": "@wb-disable@",
"wb-enable": "@wb-enable@",
@@ -192,6 +192,7 @@ Geomap,geo-mpctrl,Map control,Contrôle de la carte,Map beheer,Harta e kontrolli
,geo-aoi-btnclear,Clear,Enlever,Verwyder,Heq,نزع,Հեռացնել,Премахнете,清除,清除,Odstranit,Verwijderen,Eemaldama,Entfernen,Κατάργηση,हटाना,Eltávolít,Fjarlægja,Menghapus,Rimuovere,削除する,제거,Noņemt,Pašalinti,Usunąć,Remover,Remover,Удалять,Odstrániť,Eliminar,เอาออก,Kaldırmak,Видаляти,Hủy bỏ
,geo-geoloc-fail,Geolocation failed. Please ensure that location services are enabled.,Localisation a échoué. S'il vous plaît s'assurer que les services de localisation sont activés.,Plek gefaal het. Maak asseblief seker dat plek dienste word aangeskakel.,Vendndodhja dështuar. Ju lutemi të sigurojë që shërbimet lokacioni janë të aktivizuara.,فشل الموقع. يرجى التأكد من أن يتم تمكين خدمات الموقع.,"Որտեղից ձախողվեց. Խնդրում ենք համոզվել, որ այդ վայրում ծառայություններ հնարավորություն.","Местоположение провали. Моля, уверете се, че местоположението услуги са разрешени.",位置失敗。請確保該位置的服務被啟用。,位置失败。请确保该位置的服务被启用。,"Lokalita se nezdařilo. Ujistěte se, že umístění služby jsou povoleny.",Locatie mislukt. Zorg ervoor dat locatiediensten zijn ingeschakeld.,"Asukoht ei ole. Palun veenduge, et asukoha määramise teenuste on lubatud.","Lage fehlgeschlagen. Bitte stellen Sie sicher, dass die Ortungsdienste aktiviert sind.",Τοποθεσία απέτυχε. Παρακαλούμε βεβαιωθείτε ότι οι υπηρεσίες τοποθεσίας ενεργοποιημένη.,स्थान में विफल रहा है. स्थान सेवाएं सक्षम रहे हैं कि कृपया सुनिश्चित करें.,"Hely sikerült. Ügyeljen arra, hogy a helymeghatározó szolgáltatások engedélyezve vannak.",Staðsetning mistókst. Skaltu tryggja að staðsetningu þjónustu eru virk.,Lokalisasi gagal. Pastikan bahwa layanan lokasi diaktifkan.,Posizione non riuscita. Assicurarsi che i servizi di localizzazione sono abilitati.,場所は、失敗しました。位置情報サービスが有効になっていることを確認してください。,위치에 실패했습니다. 위치 서비스가 활성화되어 있는지 확인하십시오.,"Atrašanās vieta neizdevās. Lūdzu, pārliecinieties, ka uz atrašanās vietas pakalpojumi tiek iespējots.","Vieta nepavyko. Prašome užtikrinti, kad vietos nustatymo paslaugos yra įjungtas.","Lokalizacja nie powiodło się. Proszę upewnić się, że usługi lokalizacyjne są włączone.",Localização falhou. Certifique-se que os serviços de localização estão habilitados.,Localização falhou. Certifique-se que os serviços de localização estão habilitados.,"Расположение не удалось. Пожалуйста, убедитесь, что услуги определения местоположения включены.","Lokalita zlyhalo. Uistite sa, že umiestnenie služby sú povolené.",Ubicación falló. Por favor asegúrese de que los servicios de localización están habilitados.,ที่ล้มเหลว โปรดตรวจสอบว่าบริการสถานที่มีการใช้งาน,Yer başarısız oldu. Yer hizmetleri etkin olduğundan emin olun.,"Розташування не вдалося. Будь ласка, переконайтеся, що послуги визначення місця розташування включені.",Vị trí thất bại. Hãy đảm bảo rằng dịch vụ định vị được kích hoạt.
,geo-geoloc-uncapable,Geolocation is not supported by your browser.,Localisation n'est pas supporté par votre navigateur.,Lokalisering word nie ondersteun deur die leser.,Lokalizimi nuk mbështetet nga browseri juaj.,غير معتمد التعريب بواسطة المتصفح الخاص بك.,Տեղայնացման չի ապահովվում է ձեր բրոուզերում.,Локализация не се поддържа от вашия браузър.,本地化不是由您的瀏覽器支持。,本地化不是由您的浏览器支持。,Lokalizace není podporována ve vašem prohlížeči.,Lokalisatie wordt niet ondersteund door uw browser.,Lokaliseerimine ei toeta teie brauser.,Der Ort ist nicht von Ihrem Browser unterstützt.,Localization δεν υποστηρίζεται από το πρόγραμμα περιήγησής σας.,स्थानीयकरण आपके ब्राउज़र द्वारा समर्थित नहीं है.,A honosítás nem támogatja a böngészője.,Staðsetning er ekki stutt af vafranum þínum.,Lokalisasi tidak didukung oleh browser Anda.,La localizzazione non è supportato dal browser.,ローカリゼーションは、お使いのブラウザでサポートされていません。,현지화는 브라우저에서 지원되지 않습니다.,Lokalizācija neatbalsta pārlūkprogramma.,Lokalizacijos nepalaikomas jūsų naršyklėje.,Lokalizacja nie jest obsługiwany przez przeglądarkę.,A localização não é suportado pelo seu navegador.,A localização não é suportado pelo seu navegador.,Локализация не поддерживается браузером.,Lokalizácia nie je podporovaná vo vašom prehliadači.,Localización puede no ser compatible con su navegador.,ท้องถิ่นไม่ได้รับการสนับสนุนโดยเบราว์เซอร์ของคุณ,Yerelleştirme tarayıcınız tarafından desteklenmiyor.,Локалізація не підтримується браузером.,Nội địa hóa không được hỗ trợ bởi trình duyệt của bạn.
,geo-lgnd-grphc,Legend graphic for map layer.,Graphique légende couche cartographique.,Legende grafiese vir kaart laag.,Legjenda grafik për shtresë hartë.,رسم خريطة لأسطورة طبقة.,Լեգենդ արվեստ քարտեզ շերտ.,Legend графичен за карта слой.,傳說中的圖形在地圖圖層。,传说中的图形在地图图层。,Legenda grafický pro mapovou vrstvu.,Legende grafische kaart voor laag.,Legend graafika kaardi kiht.,Legende Grafik für Karten-Layer.,Γραφικό Υπόμνημα για χάρτη στρώμα.,नक्शा परत के लिए लीजेंड ग्राफिक।,Legend grafika térképen réteg.,Legend grafík fyrir kortinu lag.,Legenda grafis untuk layer peta.,Legenda grafica per layer.,マップレイヤの凡例のグラフィック。,지도 계층에 대한 전설 그래픽.,Leģenda grafiskais attiecīgā karte slāni.,Legenda grafinis už žemėlapio sluoksnį.,Grafika Legenda warstwy mapy.,Gráfico Legend para a camada mapa.,Gráfico Legend para a camada mapa.,Легенда графика для слоя карты.,Legenda grafický pre mapovú vrstvu.,Gráfico leyenda para la capa de mapa.,กราฟิกตำนานสำหรับชั้นแผนที่,Harita katmanı için efsane grafik.,Легенда графіка для шару карти.,Truyền thuyết đồ họa cho các lớp bản đồ.
Disable/enable WET plugins and polyfills (v4.x+),wb-disable,Basic HTML version,Version HTML simplifiée,Basiese HTML-weergawe,Versioni bazë HTML,إصدار HTML الأساسي,հիմնական HTML տարբերակ,Базов HTML версия,基本HTML版本,基本网页格式,Základní HTML verze,Versie in basis-HTML,Lihtsustatud HTML versioon,Grundlegende HTML-Version,Βασικές έκδοση HTML,मूल HTML संस्करण,Egyszerű HTML verzió,Undirstöðu HTML útgáfa,Versi HTML dasar,Versione HTML di base,HTMLベーシック版,기본 HTML 버전,Pamata HTML versija,Pagrindinė HTML versija,Podstawowa wersja HTML,Versão HTML simplificada,Versão HTML simplificada,Базовая версия HTML,Základné HTML verzia,Versión HTML básica,เวอร์ชันพื้นฐานของ HTM​​L,Basit HTML sürümü,Базова версія HTML,Phiên bản HTML cơ bản
,wb-enable,Standard version,Version standard,Standaard weergawe,Versioni standard,الإصدار القياسي,Դնել,Стандартната версия,標準版本,标准格式,Standardní verze,Standaardversie,Standardversioon,Standardausführung,Βασική έκδοση,मानक संस्करण,Standard verzió,Standard útgáfa,Versi standar,Versione standard,スタンダード版,표준 버전,Standarta versija,Standartinė versija,Wersja standardowa,Versão padrão,Versão padrão,Стандартная версия,Štandardná verzia,Versión estándar,รุ่นมาตรฐาน,Standart sürüm,Стандартна версія,Phiên bản tiêu chuẩn
Template strings (Generic),tmpl-skip-cont,Skip to main content,Passer au contenu principal,Slaan oor na hoof inhoud,Kalo tek përmbajtja kryesore,تجاوز الى المحتويات الرئيسية,Բաց թողնել հիմնական բովանդակությունը,Към основното съдържание,直接到主要內容,跳转到主要内容,Přeskočit na hlavní obsah,Naar hoofdinhoud gaan,Otse sisuni,Direkt zum Hauptinhalt,Μετάβαση στο κύριο περιεχόμενο,मुख्य सामग्री को छोड़ें,Ugrás a fő tartalomra,Sleppa á aðalefni,Loncat ke konten utama,Vai alla pagina principale,メインコンテンツへ移動,메인 컨텐츠로 가기,Pāriet uz galveno satura,Pereiti į pagrindinį turinį,Przejdź do głównej zawartości,Ir para o conteúdo principal,Ir para o conteúdo principal,Перейти к основному содержанию,Preskočiť na hlavný obsah,Saltar al contenido principal,ข้ามไปที่เนื้อหาหลัก,Ana içeriğe geç,Перейти до основного змісту,Tới nội dung chính
@@ -94,7 +94,8 @@ var componentName = "wb-geomap",
aoiBtnClose: i18n( "close" ),
geolocBtn: i18n( "geo-geoloc-btn" ),
geolocFail: i18n( "geo-geoloc-fail" ),
geolocUncapable: i18n( "geo-geoloc-uncapable" )
geolocUncapable: i18n( "geo-geoloc-uncapable" ),
geoLgndGrphc: i18n( "geo-lgnd-grphc" )
};
}

@@ -516,7 +517,7 @@ var componentName = "wb-geomap",

for ( i = 0; i !== len; i += 1 ) {
layer = geomap.map.layers[ i ];
if ( !layer.isBaseLayer ) {
if ( !layer.isBaseLayer && layer.CLASS_NAME !== "OpenLayers.Layer.WMS" ) {
$symbol = $( "#sb_" + layer.name );
symbolText = "";

@@ -556,6 +557,12 @@ var componentName = "wb-geomap",
symbolItems.push( { "id": "sb_" + layer.name, "feature": layer.features[ 0 ], "symbolizer": styleDefault } );
}
}
} else if ( layer.CLASS_NAME === "OpenLayers.Layer.WMS" ) {
if ( layer.legendUrl ) {
$("#sb_" + layer.name ).append( "<img src='" + layer.legendUrl + "' alt='" + i18nText.geoLgndGrphc + "'/>" );
} else if ( layer.legendHTML ) {
$("#sb_" + layer.name ).append( layer.legendHTML );
}
}
}
createLegendSymbols( symbolItems );
@@ -997,8 +1004,6 @@ var componentName = "wb-geomap",
maxResolution: "auto",
projection: "EPSG:3978",
units: "m",

// Only used by specific controls (i.e. MousePosition)
displayProjection: new OpenLayers.Projection( "EPSG:4269" ),
aspectRatio: 0.8,
fractionalZoom: false,
@@ -1012,10 +1017,9 @@ var componentName = "wb-geomap",
* Add baseMap data
*/
addBasemapData = function( geomap, opts ) {
var mapOptions, mapOpts, aspectRatio,
layer,
basemap = opts.basemap,
hasBasemap = basemap && basemap.length !== 0;
var basemap = opts.basemap,
hasBasemap = basemap && basemap.length !== 0,
mapOptions, mapOpts, aspectRatio, keys;

if ( hasBasemap ) {
mapOpts = basemap.mapOptions;
@@ -1027,7 +1031,6 @@ var componentName = "wb-geomap",
maxResolution: mapOpts.maxResolution,
projection: new OpenLayers.Projection( mapOpts.projection ),
units: mapOpts.units,
// Only used by specific controls (i.e. MousePosition)
displayProjection: new OpenLayers.Projection( mapOpts.displayProjection ),
numZoomLevels: mapOpts.numZoomLevels,
aspectRatio: mapOpts.aspectRatio,
@@ -1045,7 +1048,6 @@ var componentName = "wb-geomap",
};
}
} else {

// Use map options for the Canada Transportation Base Map (CBMT)
mapOptions = setDefaultMapOptions();
}
@@ -1064,24 +1066,18 @@ var componentName = "wb-geomap",
// default base map (the Canada Transportation Base Map (CBMT))
if ( hasBasemap ) {
if ( basemap.type === "wms" ) {
layer = new OpenLayers.Layer.WMS(
keys = getLayerKeys( basemap );
geomap.map.addLayer(
new OpenLayers.Layer.WMS(
basemap.title,
basemap.url,
{
layers: basemap.layers,
version: basemap.version,
format: basemap.format
},
keys,
{
isBaseLayer: true
}
)
);

// Set the srs parameter. We need to do this because srs id not set by default.
// Looks like a bug because it suppose to be set by the map or layer projection.
layer.params.srs = mapOptions.projection.projCode;
geomap.map.addLayer( layer );

} else if ( basemap.type === "esri" ) {
geomap.map.addLayer(
new OpenLayers.Layer.ArcGIS93Rest(
@@ -1096,6 +1092,21 @@ var componentName = "wb-geomap",
}
},

/*
* Parse layer configuration keys
*/
getLayerKeys = function( obj ) {
var key, keys = {};
for ( key in obj ) {
if ( obj.hasOwnProperty( key ) ) {
if ( key !== "type" && key !== "caption" && key !== "url" && key !== "title" ) {
keys[ key ] = obj[ key ];
}
}
}
return keys;
},

/*
* Add overlay data
*/
@@ -1110,9 +1121,26 @@ var componentName = "wb-geomap",
layerTitle = layer.title,
layerVisible = layer.visible,
layerURL = layer.url,
$table = createTable( index, layerTitle, layer.caption, layer.datatable );
$table = createTable( index, layerTitle, layer.caption, layer.datatable ),
keys;
if ( layerType === "wms" ) {
keys = getLayerKeys( layer );

olLayer = new OpenLayers.Layer.WMS(
layerTitle, layerURL, keys, layer.options
);

if ( layerType === "kml" ) {
olLayer.name = "overlay_" + index;
olLayer.datatable = false;
olLayer.popupsInfo = false;
olLayer.popups = false;
olLayer.legendUrl = layer.options ? layer.options.legendGraphicUrl : null;
olLayer.legendHTML = layer.options ? layer.options.legendHTML : null;

geomap.map.addLayer( olLayer );
addToLegend( geomap, $table, layerVisible, olLayer.id );
olLayer.visibility = layerVisible;
} else if ( layerType === "kml" ) {
olLayer = new OpenLayers.Layer.Vector(
layerTitle, {
strategies: [ new OpenLayers.Strategy.Fixed() ],
@@ -2431,7 +2459,9 @@ var componentName = "wb-geomap",

refreshPlugins = function( geomap ) {
var glayers = geomap.glayers,
map = geomap.map;
map = geomap.map,
lyrs = map.layers,
lyr, lyrLen;

glayers.find( ".wb-tables" ).trigger( "wb-init.wb-tables" );
glayers.find( ".wb-geomap-tabs" ).trigger( "wb-init.wb-tabs" );
@@ -2466,6 +2496,14 @@ var componentName = "wb-geomap",
$( ".olTileImage" ).attr( "alt", "" );

$( geomap.mapid ).trigger( "wb-updated" + selector, [ map ] );

// Force redraw of WMS overlays
for ( lyrLen = lyrs.length - 1; lyrLen !== -1; lyrLen -= 1 ) {
lyr = lyrs[ lyrLen ];
if ( lyr.CLASS_NAME === "OpenLayers.Layer.WMS" ) {
lyr.redraw( true );
}
}
}
});

@@ -2479,13 +2517,19 @@ var componentName = "wb-geomap",

// Retrieve the map, layer and feature using data attributes on an element
getMapLayerFeature = function( elm ) {

var map = getMapById( elm.getAttribute( "data-map" ) ),
layer;
if ( elm.getAttribute( "data-layer" ) ) {
layer = map.getLayer( elm.getAttribute( "data-layer" ) );
return [
map,
layer,
layer.getFeatureById( elm.getAttribute( "data-feature" ) )
];
return [
map,
layer,
layer.CLASS_NAME === "OpenLayers.Layer.Vector" ? layer.getFeatureById( elm.getAttribute( "data-feature" ) ) : null
];
} else {
return [ map, null, null ];
}
};

// Bind the init function to the geomap.wb event
@@ -26,16 +26,47 @@ var wet_boew_geomap = {
format: "image/jpeg",
layers: "WMS-Toporama",
mapOptions: {
maxExtent: "-141, 41, -52, 84",
restrictedExtent: "-141, 41, -52, 84",
maxExtent: "-2650000.0, -900000.0, 3600000.0, 4630000.0",
restrictedExtent: "-2750000.0, -1000000.0, 3700000.0, 4730000.0",
maxResolution: "auto",
projection: "EPSG:4269",
projection: "EPSG:3978",
units: "m",
displayProjection: "EPSG:4269",
aspectRatio: 0.8
}
},*/
overlays: [
{
title: "WMS Demo",
caption: "This is a sample WMS service loaded by Geomap.",
type: "wms",
url: "http://geo.weather.gc.ca/geomet/?Lang=E",
visible: false,
version: "1.1.1",
format: "image/png",
layers: "GDPS.ETA_PR",
transparent: true,
options: {
opacity: 0.5,
//legendGraphicUrl: "http://geo.weather.gc.ca/geomet/?Lang=E&LAYERS=GDPS.ETA_PR&VERSION=1.1.1&FORMAT=image%2Fpng&SERVICE=WMS&REQUEST=GetLegendGraphic&STYLE=PRECIPMM"
legendHTML: "<small>GeoMet Precipitation (mm)</small>" +
"<ul class='list-unstyled'>" +
"<li><span style='background-color:#800000;display:inline-block;height:20px;width:20px'/> <small>100.0</small></li>" +
"<li><span style='background-color:#FF0000;display:inline-block;height:20px;width:20px'/> <small>50.0</small></li>" +
"<li><span style='background-color:#FF4500;display:inline-block;height:20px;width:20px'/> <small>25.0</small></li>" +
"<li><span style='background-color:#FFA500;display:inline-block;height:20px;width:20px'/> <small>20.0</small></li>" +
"<li><span style='background-color:#FFD700;display:inline-block;height:20px;width:20px'/> <small>15.0</small></li>" +
"<li><span style='background-color:#E5E500;display:inline-block;height:20px;width:20px'/> <small>10.0</small></li>" +
"<li><span style='background-color:#7FFF00;display:inline-block;height:20px;width:20px'/> <small>7.5</small></li>" +
"<li><span style='background-color:#7FFFD4;display:inline-block;height:20px;width:20px'/> <small>5.0</small></li>" +
"<li><span style='background-color:#00FFFF;display:inline-block;height:20px;width:20px'/> <small>2.5</small></li>" +
"<li><span style='background-color:#87CEFA;display:inline-block;height:20px;width:20px'/> <small>1.0</small></li>" +
"<li><span style='background-color:#1E90FF;display:inline-block;height:20px;width:20px'/> <small>0.5</small></li>" +
"<li><span style='background-color:#0000CD;display:inline-block;height:20px;width:20px'/> <small>0.25</small></li>" +
"<li><span style='background-color:#000080;display:inline-block;height:20px;width:20px'/> <small>0.10</small></li>" +
"</ul>"
}
},
{
title: "KML Demo",
caption: "This is a sample KML file loaded locally by Geomap.",
Oops, something went wrong.

0 comments on commit 7b7e5cf

Please sign in to comment.
You can’t perform that action at this time.