var map;
var popup;
var zoomz;
var measureControls;
var untiled = new Array();
var selection_layer;
var pureCoverage = false;
var polygonLayer;
var polygonCreated = 0;
var selected_zoom = 0;
var childWindowPrelucreaza;
var childWindowUploadeaza;
// pink tile avoidance
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 5;
// make OL compute scale according to WMS spec
OpenLayers.DOTS_PER_INCH = 25.4 / 0.28;
OpenLayers.Util.onImageLoadErrorColor = 'transparent';
//OpenLayers.ProxyHost = "";
var formatSLD = new OpenLayers.Format.SLD();
var sld;
var highlightStyle;
function init(){
// if this is just a coverage or a group of them, disable a few items,
// and default to jpeg format
format = 'image/png';
if(pureCoverage) {
document.getElementById('filterType').disabled = true;
document.getElementById('filter').disabled = true;
document.getElementById('antialiasSelector').disabled = true;
document.getElementById('updateFilterButton').disabled = true;
document.getElementById('resetFilterButton').disabled = true;
document.getElementById('jpeg').selected = true;
format = "image/jpeg";
}
var bounds = new OpenLayers.Bounds(
379222.919, 499826.349,394854.919, 516717.349 );
var initialZoomBounds=new OpenLayers.Bounds(388773.33,509100.25,390339.88,509869.23);
highlightStyle=new OpenLayers.Style({
strokeWidth : '3',
strokeColor : '#3300CC',
strokeOpacity : '0.7',
strokeDashstyle : 'solid',
fillColor : '#3399CC',
fillOpacity : '0.6',
pointRadius : '6'
});
var options = {
controls: [],
maxExtent: bounds,
resolutions: [ 65.98046875, 32.990234375, 16.4951171875, 8.24755859375, 4.123779296875, 2.0618896484375, 1.03094482421875, 0.515472412109375, 0.2577362060546875, 0.12886810302734375, 0.06443405151367188, 0.03221702575683594], maxResolution: 65.98046875,
projection: "EPSG:4317",
units: 'm'
};
map = new OpenLayers.Map('map', options);
map.addControl(new OpenLayers.Control.MousePosition( {id: "ll_mouse", formatOutput: formatLonlats} ));
//map.addControl(new OpenLayers.Control.OverviewMap());
var geographic = new OpenLayers.Projection("EPSG:4317");
var baseLayerOptions = {
isBaseLayer: true,
displayInLayerSwitcher: true
};
var fake = new OpenLayers.Layer('fake', baseLayerOptions);
map.addLayer(fake);
// setup single tiled layer
untiled[0] = new OpenLayers.Layer.Vector("Adrese", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
version: "1.0.0",
srsName: "EPSG:4317", // this is the default
url: "geoserver/wfs?",
featureType: "def_v_adrese",
features: "wkb_geometry",
featureNS: "alba.ro",
featurePrefix: "alba",
geometryName: "wkb_geometry"}),
projection: geographic, // specified because it is different than the map
options: { maxScale: 1, minScale: 2000},
legend:'/puz/mask/getinfo.php?zx_xz=2service=wms&WIDTH=150&height=20&style=def_v_adrese&request=GetLegendGraphic&layer=def_v_adrese&format=image/png&version=1.1.1&transparent=true'
});
untiled[0].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=def_v_adrese&request=GetLegendGraphic&layer=def_v_adrese&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[0]]);
untiled[1] = new OpenLayers.Layer.WMS(
"Ortofoto", "/puz/mask/getinfo.php?zx_xz=2",
{
srs: 'EPSG:4317',
layers: 'alba:alba', setTileSize: function(size){return map.getSize();} ,
styles: '',
transparent: 'true',
format: format
//legendSrc:'http://publicatlas.microimages.com/sample_cgi/sample.cgi?REQUEST=GetLegendGraphic&VERSION=1.1.1&FORMAT=image/png&LAYER=MII_NLVE%3A_NE_Ortho_Multi'
},
{singleTile: true, ratio: 1, transitionEffect: 'resize', options: { maxScale: 1, minScale: 10000}}
);
untiled[1].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=alba&request=GetLegendGraphic&layer=alba&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[1]]);
untiled[2] = new OpenLayers.Layer.WMS(
"Terenuri", "/puz/mask/getinfo.php?zx_xz=2",
{
srs: 'EPSG:4317',
layers: 'alba:def_pr_corpuri_proprietate', setTileSize: function(size){return map.getSize();} ,
styles: '',
transparent: 'true',
format: format
//legendSrc:'http://publicatlas.microimages.com/sample_cgi/sample.cgi?REQUEST=GetLegendGraphic&VERSION=1.1.1&FORMAT=image/png&LAYER=MII_NLVE%3A_NE_Ortho_Multi'
},
{singleTile: true, ratio: 1, transitionEffect: 'resize', options: { maxScale: 1, minScale: 5000}}
);
untiled[2].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=def_pr_corpuri_proprietate&request=GetLegendGraphic&layer=def_pr_corpuri_proprietate&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[2]]);
untiled[3] = new OpenLayers.Layer.WMS(
"ConstrucÅĢii", "/puz/mask/getinfo.php?zx_xz=2",
{
srs: 'EPSG:4317',
layers: 'alba:def_co_constructii', setTileSize: function(size){return map.getSize();} ,
styles: '',
transparent: 'true',
format: format
//legendSrc:'http://publicatlas.microimages.com/sample_cgi/sample.cgi?REQUEST=GetLegendGraphic&VERSION=1.1.1&FORMAT=image/png&LAYER=MII_NLVE%3A_NE_Ortho_Multi'
},
{singleTile: true, ratio: 1, transitionEffect: 'resize', options: { maxScale: 1, minScale: 5000}}
);
untiled[3].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=def_co_constructii&request=GetLegendGraphic&layer=def_co_constructii&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[3]]);
untiled[4] = new OpenLayers.Layer.WMS(
"Artere", "/puz/mask/getinfo.php?zx_xz=2",
{
srs: 'EPSG:4317',
layers: 'alba:def_v_artere_integrare', setTileSize: function(size){return map.getSize();} ,
styles: '',
transparent: 'true',
format: format
//legendSrc:'http://publicatlas.microimages.com/sample_cgi/sample.cgi?REQUEST=GetLegendGraphic&VERSION=1.1.1&FORMAT=image/png&LAYER=MII_NLVE%3A_NE_Ortho_Multi'
},
{singleTile: true, ratio: 1, transitionEffect: 'resize', options: { }}
);
untiled[4].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=def_v_artere_integrare&request=GetLegendGraphic&layer=def_v_artere_integrare&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[4]]);
// setup single tiled layer
untiled[5] = new OpenLayers.Layer.Vector("Obiective investitii", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
version: "1.0.0",
srsName: "EPSG:4317", // this is the default
url: "geoserver/wfs?",
featureType: "v_def_pr_obiectiv_invest",
features: "wkb_geometry",
featureNS: "alba.ro",
featurePrefix: "alba",
geometryName: "wkb_geometry"}),
projection: geographic, // specified because it is different than the map
options: { },
legend:'/puz/mask/getinfo.php?zx_xz=2service=wms&WIDTH=150&height=20&style=v_def_pr_obiectiv_invest&request=GetLegendGraphic&layer=v_def_pr_obiectiv_invest&format=image/png&version=1.1.1&transparent=true'
});
untiled[5].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=v_def_pr_obiectiv_invest&request=GetLegendGraphic&layer=v_def_pr_obiectiv_invest&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[5]]);
untiled[6] = new OpenLayers.Layer.WMS(
"Limita intravilan PUG", "/puz/mask/getinfo.php?zx_xz=2",
{
srs: 'EPSG:4317',
layers: 'alba:v_def_af_limita_intravilan', setTileSize: function(size){return map.getSize();} ,
styles: '',
transparent: 'true',
format: format
//legendSrc:'http://publicatlas.microimages.com/sample_cgi/sample.cgi?REQUEST=GetLegendGraphic&VERSION=1.1.1&FORMAT=image/png&LAYER=MII_NLVE%3A_NE_Ortho_Multi'
},
{singleTile: true, ratio: 1, transitionEffect: 'resize', options: { }}
);
untiled[6].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=v_def_af_limita_intravilan&request=GetLegendGraphic&layer=v_def_af_limita_intravilan&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[6]]);
untiled[7] = new OpenLayers.Layer.WMS(
"Limita administrativa", "/puz/mask/getinfo.php?zx_xz=2",
{
srs: 'EPSG:4317',
layers: 'alba:def_af_lim_administrativa', setTileSize: function(size){return map.getSize();} ,
styles: '',
transparent: 'true',
format: format
//legendSrc:'http://publicatlas.microimages.com/sample_cgi/sample.cgi?REQUEST=GetLegendGraphic&VERSION=1.1.1&FORMAT=image/png&LAYER=MII_NLVE%3A_NE_Ortho_Multi'
},
{singleTile: true, ratio: 1, transitionEffect: 'resize', options: { }}
);
untiled[7].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=def_af_lim_administrativa&request=GetLegendGraphic&layer=def_af_lim_administrativa&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[7]]);
// setup single tiled layer
untiled[8] = new OpenLayers.Layer.Vector("Patrimoniu public", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
version: "1.0.0",
srsName: "EPSG:4317", // this is the default
url: "geoserver/wfs?",
featureType: "v_def_v_elemente_patrimoniu_public",
features: "wkb_geometry",
featureNS: "alba.ro",
featurePrefix: "alba",
geometryName: "wkb_geometry"}),
projection: geographic, // specified because it is different than the map
options: { },
legend:'/puz/mask/getinfo.php?zx_xz=2service=wms&WIDTH=150&height=20&style=v_def_v_elemente_patrimoniu_public&request=GetLegendGraphic&layer=v_def_v_elemente_patrimoniu_public&format=image/png&version=1.1.1&transparent=true'
});
untiled[8].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=v_def_v_elemente_patrimoniu_public&request=GetLegendGraphic&layer=v_def_v_elemente_patrimoniu_public&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[8]]);
// setup single tiled layer
untiled[9] = new OpenLayers.Layer.Vector("Patrimoniu privat", {
strategies: [new OpenLayers.Strategy.BBOX()],
protocol: new OpenLayers.Protocol.WFS({
version: "1.0.0",
srsName: "EPSG:4317", // this is the default
url: "geoserver/wfs?",
featureType: "v_def_v_elemente_patrimoniu_privat",
features: "wkb_geometry",
featureNS: "alba.ro",
featurePrefix: "alba",
geometryName: "wkb_geometry"}),
projection: geographic, // specified because it is different than the map
options: { },
legend:'/puz/mask/getinfo.php?zx_xz=2service=wms&WIDTH=150&height=20&style=v_def_v_elemente_patrimoniu_privat&request=GetLegendGraphic&layer=v_def_v_elemente_patrimoniu_privat&format=image/png&version=1.1.1&transparent=true'
});
untiled[9].addOptions({legendSrc:'/puz/mask/getinfo.php?zx_xz=2service=wms&width=20&height=20&style=v_def_v_elemente_patrimoniu_privat&request=GetLegendGraphic&layer=v_def_v_elemente_patrimoniu_privat&format=image/png&version=1.1.1&transparent=true'});
map.addLayers([untiled[9]]);
var overCallback= {over: featureOver, out: hideTooltip};
var highlightCtrl = new OpenLayers.Control.SelectFeature([untiled[0],untiled[5],untiled[8],untiled[9]], {
hover: true,
highlightOnly: true,
renderIntent: "temporary"
});
map.addControl(highlightCtrl);
highlightCtrl.activate();
selectControl = new OpenLayers.Control.SelectFeature([untiled[0],untiled[5],untiled[8],untiled[9]],{callbacks: overCallback});
map.addControl(selectControl);
selectControl.activate();
OpenLayers.loadURL("puz/sldArieFunct.xml", null, null, complete);
polygonLayer = new OpenLayers.Layer.Vector("Polygon Layer", {displayInLayerSwitcher: false});
polygonLayer.events.register('featureadded',polygonLayer,featurePolygonAdded);
var sketchSymbolizers = {
"Point": {
pointRadius: 4,
graphicName: "square",
fillColor: "white",
fillOpacity: 1,
strokeWidth: 1,
strokeOpacity: 1,
strokeColor: "#333333"
},
"Line": {
strokeWidth: 3 ,
strokeOpacity: 1,
strokeColor: "#FF0000",
strokeDashstyle: "dash"
},
"Polygon": {
strokeWidth: 2,
strokeOpacity: 1,
strokeColor: "#FF0000",
fillColor: "#FF0000",
fillOpacity: 0.3
}
};
var style = new OpenLayers.Style();
style.addRules([
new OpenLayers.Rule({symbolizer: sketchSymbolizers})
]);
var styleMapDraw = new OpenLayers.StyleMap({"default": style});
// build up all controls
map.addControl(new OpenLayers.Control.PanZoomBar({
position: new OpenLayers.Pixel(2, 15)
}));
//map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.Navigation());
map.addControl(new OpenLayers.Control.MousePosition({ div: document.getElementById('mapMousePosition'), numdigits: 5 }));
map.addControl(new OpenLayers.Control.Scale('mapScale'));
map.addControl(new OpenLayers.Control.ScaleLine());
//map.addControl(new OpenLayers.Control.MousePosition({element: $('location')}));
var loadingpanel = new OpenLayers.Control.LoadingPanel({displayClass: "olControlLoadingPanel"});
//map.addControl(loadingpanel);
map.zoomToExtent(initialZoomBounds);
var optionsLine = {
handlerOptions: {
persist: true, layerOptions: {styleMap: styleMapDraw}
},
displayClass: "olControlMeasureDistance",
title: "Masoara distanta"
};
var optionsPolygon = {
handlerOptions: {
persist: true, layerOptions: {styleMap: styleMapDraw}
},
displayClass: "olControlMeasureArea",
title: "Masoara aria"
};
measureControls = {
line: new OpenLayers.Control.Measure(
OpenLayers.Handler.Path,
optionsLine
),
polygon: new OpenLayers.Control.Measure(
OpenLayers.Handler.Polygon,
optionsPolygon
)
};
for(var key in measureControls) {
control = measureControls[key];
control.events.on({
"measure": handleMeasurements,
"measurepartial": handleMeasurements
});
}
var search_button = new OpenLayers.Control.Button({
title: "Cauta", displayClass: "olControlCautaButton", trigger: function(){ openChild("puz/search/searchForm.php?id=2&cautare=def_v_adrese"); }
});
var navHistory = new OpenLayers.Control.NavigationHistory();
navHistory.previous.title = "Incarca zona precedenta";
navHistory.next.title = "Incarca zona urmatoare";
map.addControl(navHistory);
var drag_control = new OpenLayers.Control.DragPan({title:'Navigare harta', displayClass: 'olControlPanMap'});
map.addControl(drag_control);
var zoomToContextExtent = new OpenLayers.Control.Button({
title: "Incadreaza toata harta", displayClass: "olControlZoomToMaxExtent", trigger: function(){ var bounds = new OpenLayers.Bounds(379222.919, 499826.349,394854.919, 516717.349);map.zoomToExtent(bounds); }
});
var draw = new OpenLayers.Control.DrawFeature(polygonLayer,OpenLayers.Handler.Polygon,{callbacks : {"create": pointHandler}, handlerOptions: {holeModifier: "altKey"}, title: "Delimitare proiect", displayClass: "olControlDrawButton"});
map.addControl(draw);
var print_button = new OpenLayers.Control.Button({
title: "Printeaza harta", displayClass: "olControlPrintButton", trigger: function(){ window.print(); }
});
var refresh_button = new OpenLayers.Control.Button({
title: "Reimprospateaza harta", displayClass: "olControlRefreshButton", trigger: function(){ refreshMap(); }
});
var zoomBox = new OpenLayers.Control.ZoomBox({ title: "Zoom pe o anumita zona" });
var separator1 = new OpenLayers.Control.Button({
trigger: function(){ }
});
var separator2 = new OpenLayers.Control.Button({
trigger: function(){ }
});
var separator3 = new OpenLayers.Control.Button({
trigger: function(){ }
});
var info = new OpenLayers.Control.WMSGetFeatureInfo({
url: '/puz/mask/getinfo.php?zx_xz=2',
title: 'Identifica elemente prin clic',
queryVisible: true,
displayClass: 'olControlFeatureInfo',
eventListeners: {
getfeatureinfo: function(event) {
if(map.popups.length>0)
map.removePopup(popup);
if(map.getZoom()<2)
{
map.zoomTo(2);
}
popup = new OpenLayers.Popup.FramedCloud(
"chicken",
map.getLonLatFromPixel(event.xy),
null,
event.text,
null,
true
);
map.addPopup(popup);
}
}
});
map.addControl(info);
info.activate();
//adaug controale de tip info unde gasesc elemente pt identificare
var panel_top = new OpenLayers.Control.Panel({ defaultControl: drag_control });
map.addControl(panel_top);
panel_top.addControls([drag_control,
zoomBox,
zoomToContextExtent,
navHistory.previous,
navHistory.next,
refresh_button,
separator1,
measureControls.line,
measureControls.polygon,
separator2,
info
,
search_button,print_button ]);
layerSwitcher = new OpenLayers.Control.LayerSwitcher();
layerSwitcher.ascending = false;
// layerSwitcher.displayClass = ".olControlLayerSwitcher";
layerSwitcher.useLegendGraphics = true;
map.addControl(layerSwitcher);
layerSwitcher.maximizeControl();
document.getElementById('mapProjection').innerHTML = map.projection;
}
function openChild(file) {
childWindow=open(file,"Cauta","width=600,height=600,0,status=0,scrollbars=1,location=0");
if (childWindow.opener == null) childWindow.opener = self;
}
function handleMeasurements(event) {
var geometry = event.geometry;
var units = event.units;
var order = event.order;
var measure = event.measure;
var element = document.getElementById('mapOutput');
var out = "";
if(order == 1) {
out += "Distanta: " + measure.toFixed(3) + " " + units;
if (map.getProjection() == "EPSG:4326") {
out += ", Great Circle Distance: " +
calcVincenty(geometry).toFixed(3) + " km";
}
} else {
out += "Arie: " + measure.toFixed(3) + " " + units + "2" + "sup>";
}
element.innerHTML = out;
}
function refreshMap(){
untiled[0].redraw();
untiled[1].redraw();
untiled[2].redraw();
untiled[3].redraw();
untiled[4].redraw();
untiled[5].redraw();
untiled[6].redraw();
untiled[7].redraw();
untiled[8].redraw();
untiled[9].redraw();
};
// sets the HTML provided into the nodelist element
function setHTML(response){
//document.getElementById('nodelist').innerHTML += response.responseText;
};
// shows/hide the control panel
function toggleControlPanel(event){
var toolbar = document.getElementById("toolbar");
if (toolbar.style.display == "none") {
toolbar.style.display = "block";
}
else {
toolbar.style.display = "none";
}
event.stopPropagation();
map.updateSize();
}
function selectFeature(id, idcol, table)
{
if(map.getLayerIndex(selection_layer)!=-1)
map.removeLayer(selection_layer);
selection_layer = new OpenLayers.Layer.Vector(table, {
strategies: [new OpenLayers.Strategy.BBOX()],
displayInLayerSwitcher: false,
projection: new OpenLayers.Projection("EPSG:4317"),
protocol: new OpenLayers.Protocol.WFS({
url: "/geoserver/wfs?",
featureType: table,
//extractAttributes:true,
features: "wkb_geometry",
srsName: "EPSG:4317",
featureNS: "alba.ro",
featurePrefix: "alba",
geometryName: "wkb_geometry"
}),
styleMap: new OpenLayers.StyleMap({
strokeWidth: 6,
strokeColor: "#008888",
fillColor: "#00DDDD",
fillOpacity: 0.5,
pointerEvents: "visiblePainted"
}),
//commitReport: goToExtent,
filter: new OpenLayers.Filter.Logical({
type: OpenLayers.Filter.Logical.OR,
filters: [
new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.EQUAL_TO,
property: idcol,
value: id
})
]
})});
map.addLayer(selection_layer);
selection_layer.events.register("loadend", selection_layer, goToExtent);
if(map.popups.length>0)
map.removePopup(popup);
selection_layer.redraw();
document.getElementById('deselecteaza').disabled = false;
}
function selectFeatureBBox(id, idcol, table,xmin,ymin,xmax,ymax, zoom)
{
searchResultBounds=new OpenLayers.Bounds(xmin,ymin,xmax,ymax);
var bboxzoom = map.getZoomForExtent(searchResultBounds)
if(bboxzoomzoom) selected_zoom = zoom;
// map.zoomTo(selected_zoom);
// selected_zoom=0;
//}
}
function featurePolygonAdded(feature)
{
polygonCreated = feature;
document.getElementById('prelucreaza').disabled = false;
}
function pointHandler()
{
polygonLayer.removeAllFeatures();
polygonLayer.refresh();
document.getElementById('prelucreaza').disabled = "disabled";
}
function clearSelection()
{
if(map.getLayerIndex(selection_layer)!=-1)
map.removeLayer(selection_layer);
document.getElementById('deselecteaza').disabled = "disabled";
}
function prelucreaza()
{
var wkt = new OpenLayers.Format.WKT();
childWindowPrelucreaza=open("puz/exchange/prepare_download.php?geom=" + wkt.write(polygonCreated.feature),"Download","width=600,height=300,0,status=0,scrollbars=1,location=0");
if (childWindowPrelucreaza.opener == null) childWindowPrelucreaza.opener = self;
}
function uploadeaza()
{
var wkt = new OpenLayers.Format.WKT();
childWindowUploadeaza=open("puz/exchange/uploader.php","Download","width=600,height=600,0,status=0,scrollbars=1,location=0");
if (childWindowUploadeaza.opener == null) childWindowUploadeaza.opener = self;
}
function setPalette(mode){
if (mode == '') {
untiled[0].mergeNewParams({
palette: null
});
untiled[1].mergeNewParams({
palette: null
});
untiled[2].mergeNewParams({
palette: null
});
untiled[3].mergeNewParams({
palette: null
});
untiled[4].mergeNewParams({
palette: null
});
untiled[5].mergeNewParams({
palette: null
});
untiled[6].mergeNewParams({
palette: null
});
untiled[7].mergeNewParams({
palette: null
});
untiled[8].mergeNewParams({
palette: null
});
untiled[9].mergeNewParams({
palette: null
});
}
else {
untiled[0].mergeNewParams({
palette: mode
});
untiled[1].mergeNewParams({
palette: mode
});
untiled[2].mergeNewParams({
palette: mode
});
untiled[3].mergeNewParams({
palette: mode
});
untiled[4].mergeNewParams({
palette: mode
});
untiled[5].mergeNewParams({
palette: mode
});
untiled[6].mergeNewParams({
palette: mode
});
untiled[7].mergeNewParams({
palette: mode
});
untiled[8].mergeNewParams({
palette: mode
});
untiled[9].mergeNewParams({
palette: mode
});
}
/////////////////////////////////////////////////////////////////////////////////////
}
// Set a style for the given layer:
function setLayerStyle(layerName, index, layer)
{
//alert('set style');
var customStyle=sld.namedLayers[layerName].userStyles[index];
layer.styleMap.styles['default']=customStyle;
layer.styleMap.styles['temporary']=highlightStyle;
layer.redraw();
}
function complete(req)
{
//alert('complete fct');
sld = formatSLD.read(req.responseXML || req.responseText);
//parcurg vectorii
setLayerStyle("Adrese",0,untiled[0]);
setLayerStyle("Obiective investitii",0,untiled[5]);
setLayerStyle("Patrimoniu public",0,untiled[8]);
setLayerStyle("Patrimoniu privat",0,untiled[9]);
}
function setWidth(size){
var mapDiv = document.getElementById('map');
var wrapper = document.getElementById('wrapper');
if (size == "auto") {
// reset back to the default value
mapDiv.style.width = null;
wrapper.style.width = null;
}
else {
mapDiv.style.width = size + "px";
wrapper.style.width = size + "px";
}
// notify OL that we changed the size of the map div
map.updateSize();
}
function setHeight(size){
var mapDiv = document.getElementById('map');
if (size == "auto") {
// reset back to the default value
mapDiv.style.height = null;
}
else {
mapDiv.style.height = size + "px";
}
// notify OL that we changed the size of the map div
map.updateSize();
}
function updateFilter(){
}
function resetFilter() {
}
function mergeNewParams(params){
untiled[0].mergeNewParams(params);
untiled[1].mergeNewParams(params);
untiled[2].mergeNewParams(params);
untiled[3].mergeNewParams(params);
untiled[4].mergeNewParams(params);
untiled[5].mergeNewParams(params);
untiled[6].mergeNewParams(params);
untiled[7].mergeNewParams(params);
untiled[8].mergeNewParams(params);
untiled[9].mergeNewParams(params);
}
function getColors()
{
alert(untiled[0].params.LAYERS);
alert('Culoare '+untiled[0].features[0].attributes.id_af_plan);
//for (var pr in untiled[0].features[0].attributes)
// {
// alert(pr);
// }
}
function featureOver(feature) {
var fname='';
if(feature.layer.name=='Adrese'){
fname = fname + 'Adrese
';
fname = fname + "- Adresa: ";
if(feature.attributes.adresa!=null)
fname = fname + feature.attributes.adresa+"
";
else
fname = fname + "- ";
fname = fname + "
";}
if(feature.layer.name=='Obiective investitii'){
fname = fname + 'Obiective investitii
';
fname = fname + "- Tip investitie: ";
if(feature.attributes.tip_investitie!=null)
fname = fname + feature.attributes.tip_investitie+"
";
else
fname = fname + "- ";
fname = fname + "
";}
if(feature.layer.name=='Patrimoniu public'){
fname = fname + 'Patrimoniu public
';
fname = fname + "- Tip element: ";
if(feature.attributes.tip_elemen!=null)
fname = fname + feature.attributes.tip_elemen+"
";
else
fname = fname + "- ";
fname = fname + "- Descriere: ";
if(feature.attributes.descriere!=null)
fname = fname + feature.attributes.descriere+"
";
else
fname = fname + "- ";
fname = fname + "
";}
if(feature.layer.name=='Patrimoniu privat'){
fname = fname + 'Patrimoniu privat
';
fname = fname + "- Tip element: ";
if(feature.attributes.tip_elemen!=null)
fname = fname + feature.attributes.tip_elemen+"
";
else
fname = fname + "- ";
fname = fname + "- Descriere: ";
if(feature.attributes.descriere!=null)
fname = fname + feature.attributes.descriere+"
";
else
fname = fname + "- ";
fname = fname + "
";}
var xy = this.map.getControl('ll_mouse').lastXy || new OpenLayers.Pixel(0,0);
showTooltip(fname, xy.x+50, xy.y+50);
}
function showTooltip(ttText, x, y) {
var windowWidth = getViewport().width;
var o = document.getElementById('tooltip');
o.innerHTML = ttText;
if(o.offsetWidth) {
var ew = o.offsetWidth;
} else if(o.clip.width) {
var ew = o.clip.width;
}
y = y + 10;
x = x - (ew / 4);
if (x < 35) {
x = 35;
} else if(x + ew > windowWidth) {
x = windowWidth - ew - 4;
}
if (y < 60) {
y = 60; }
o.style.left = x + 'px';
o.style.top = y + 'px';
document.getElementById('tooltip').style.visibility = 'visible';
}
function hideTooltip()
{
document.getElementById('tooltip').style.visibility = 'hidden';
}
//non-OL-related functions
function getViewport() {
var e = window, a = 'inner';
if ( !( 'innerWidth' in window ) ) {
a = 'client';
e = document.documentElement || document.body;
}
return { width : e[ a+'Width' ], height : e[ a+'Height' ] }
}
function formatLonlats(lonLat) {
var lat = lonLat.lat;
var lg = lonLat.lon;
var ns = OpenLayers.Util.getFormattedLonLat(lat);
var ew = OpenLayers.Util.getFormattedLonLat(lg,'lon');
return ns + ', ' + ew + ' (' + (Math.round(lat * 10000) / 10000) + ', ' + (Math.round(lg * 10000) / 10000) + ')';
}
function onPopupClose(feature) {
selectControl.unselect(feature);
}
function onFeatureUnselect(feature) {
if(feature.popup!=null)
{
map.removePopup(feature.popup);
feature.popup.destroy();
//feature.attributes.poppedup = false;
feature.popup = null;
}
}
function formatLonlats(lonLat) {
var lat = lonLat.lat;
var lg = lonLat.lon;
var ns = OpenLayers.Util.getFormattedLonLat(lat);
var ew = OpenLayers.Util.getFormattedLonLat(lg,'lon');
return ns + ', ' + ew + ' (' + (Math.round(lat * 10000) / 10000) + ', ' + (Math.round(lg * 10000) / 10000) + ')';
}
OpenLayers.Control.LoadingPanel = OpenLayers.Class(OpenLayers.Control, {
counter: 0,
maximized: false,
visible: true,
initialize: function(options) {
OpenLayers.Control.prototype.initialize.apply(this, [options]);
},
setVisible: function(visible) {
this.visible = visible;
if (visible) {
OpenLayers.Element.show(this.div);
} else {
OpenLayers.Element.hide(this.div);
}
},
getVisible: function() {
return this.visible;
},
hide: function() {
this.setVisible(false);
},
show: function() {
this.setVisible(true);
},
toggle: function() {
this.setVisible(!this.getVisible());
},
addLayer: function(evt) {
if (evt.layer) {
evt.layer.events.register('loadstart', this, this.increaseCounter);
evt.layer.events.register('loadend', this, this.decreaseCounter);
}
},
setMap: function(map) {
OpenLayers.Control.prototype.setMap.apply(this, arguments);
this.map.events.register('preaddlayer', this, this.addLayer);
for (var i = 0; i < this.map.layers.length; i++) {
var layer = this.map.layers[i];
layer.events.register('loadstart', this, this.increaseCounter);
layer.events.register('loadend', this, this.decreaseCounter);
}
},
increaseCounter: function() {
this.counter++;
if (this.counter > 0) {
if (!this.maximized && this.visible) {
this.maximizeControl();
}
}
},
decreaseCounter: function() {
if (this.counter > 0) {
this.counter--;
}
if (this.counter == 0) {
if (this.maximized && this.visible) {
this.minimizeControl();
}
}
},
draw: function () {
OpenLayers.Control.prototype.draw.apply(this, arguments);
return this.div;
},
minimizeControl: function(evt) {
this.div.style.display = "none";
this.maximized = false;
if (evt != null) {
OpenLayers.Event.stop(evt);
}
},
maximizeControl: function(evt) {
this.div.style.display = "block";
this.maximized = true;
if (evt != null) {
OpenLayers.Event.stop(evt);
}
},
destroy: function() {
if (this.map) {
this.map.events.unregister('preaddlayer', this, this.addLayer);
if (this.map.layers) {
for (var i = 0; i < this.map.layers.length; i++) {
var layer = this.map.layers[i];
layer.events.unregister('loadstart', this,
this.increaseCounter);
layer.events.unregister('loadend', this,
this.decreaseCounter);
}
}
}
OpenLayers.Control.prototype.destroy.apply(this, arguments);
},
CLASS_NAME: "OpenLayers.Control.LoadingPanel"
});