var geocoder = null; var numMarkers = 0; var numMarkersIdro = 0; var numPoly = 0; var marker = new Array(); var markerIdro = new Array(); var polyline = new Array(); var i = 0; var circle = null var circledrawn = 0 var geoXmlAreeLi = null; function initializeLI(bool) { if (GBrowserIsCompatible()) { disableConfine(); map.setCenter(new GLatLng(44.773786367178, 10.770456603261), 10); geocoder = new GClientGeocoder(); if(bool){ GEvent.addListener(map,"click", function(overlay,point) { drawAll(point, true); }); } } } function VaiA(address, zoom) { initializeLI(false); if (geocoder) { geocoder.getLatLng( address, function(point) { if (!point) { alert(address + " non trovato"); } else { drawAll(point,zoom); } } ); } } function createmarker(mymap, point, html, icon) { var m = new GMarker(point, icon); GEvent.addListener(m, "click", function() { m.openInfoWindowHtml(html); }); /*GEvent.addListener(m, "click", function() { m.openExtInfoWindow( map, "simple_example_window", html, {beakOffset: 3} ); });*/ return m; } function drawAll(myPoint,zoom) { //Creo i nuovi marker var prjIcon = new GIcon(); prjIcon.image = 'http://mappe.bpms.re.it/maps-cbec/images/project_li.png'; prjIcon.iconSize = new GSize(32,32); prjIcon.iconAnchor = new GPoint(16,16); prjIcon.infoWindowAnchor = new GPoint(20,25); var pltIcon = new GIcon(); pltIcon.image = 'http://mappe.bpms.re.it/maps-cbec/images/plant_li.png'; pltIcon.iconSize = new GSize(32,32); pltIcon.iconAnchor = new GPoint(16,16); pltIcon.infoWindowAnchor = new GPoint(20,25); if(myPoint){ //Visualizzo il check per accendere e spegnere checkView('localInfoStatus', ''); if (zoom) { map.setCenter(myPoint, 14); } var request = GXmlHttp.create(); // Progetti request.open("GET", "http://mappe.bpms.re.it/maps-cbec/includes/queries/querybypoint.php?Ent=AreeUbicazioneImmobili&x=" + myPoint.x + "&y=" + myPoint.y + "&Punti=Progetti&Radius=2500", true); request.onreadystatechange = function() { if (request.readyState == 4) { var html; var htmlBalloon; var IndiceArea; for (var x = 0; x < numMarkers; x++) { map.removeOverlay(marker[x]); } var xmlDocProg = GXml.parse(request.responseText); if(xmlDocProg){ if(xmlDocProg.documentElement){ var area = xmlDocProg.documentElement.getElementsByTagName("AreeUbicazioneImmobiliFeature"); if (area.length>0) { html = GXml.value(area[0].getElementsByTagName("HTML")[0]); htmlBalloon = GXml.value(area[0].getElementsByTagName("HTMLBalloon")[0]); IndiceArea = GXml.value(area[0].getElementsByTagName("IndiceArea")[0]); } else { html = "Nessuna informazione visualizzabile"; htmlBalloon = "Nessuna informazione visualizzabile"; IndiceArea = -1; } if(geoXmlAreeLi != null){ map.removeOverlay(geoXmlAreeLi); } //Se l'area è specificata effettuo la ricerca if(IndiceArea != 'none'){ //Avvio il loading loading(true); geoXmlAreeLi = new GGeoXml("http://mappe.bpms.re.it/maps-cbec/includes/queries/FeedKMLAree.php?Ent=AreeUbicazioneImmobili&fillColor=1e0080ff&lineColor=780080ff&CodiceArea=" + IndiceArea, loading); map.addOverlay(geoXmlAreeLi); getAreasInfo(IndiceArea, "infos"); } var progetti = xmlDocProg.documentElement.getElementsByTagName("ProgettiFeature"); numMarkers=progetti.length; for (var a = 0; a < numMarkers; a++) { // get any Feature var n_progetto = GXml.value(progetti[a].getElementsByTagName("n_progetto")[0]); var PROV = GXml.value(progetti[a].getElementsByTagName("PROV")[0]); var LABEL = GXml.value(progetti[a].getElementsByTagName("LABEL")[0]); var PuntoX = GXml.value(progetti[a].getElementsByTagName("PuntoX")[0]); var PuntoY = GXml.value(progetti[a].getElementsByTagName("PuntoY")[0]); var Titolo = GXml.value(progetti[a].getElementsByTagName("Titolo")[0]); var Comune = GXml.value(progetti[a].getElementsByTagName("Comune")[0]); var Anno = GXml.value(progetti[a].getElementsByTagName("Anno")[0]); var localita = GXml.value(progetti[a].getElementsByTagName("localita")[0]); var htmlProj= "
" + Titolo + "
" + "Anno: " + Anno + "
" + "Comune: " + Comune + "
" + "Provincia: " + PROV + "
" + "Località: " + localita + "
"; //Temporaneamente marker[a]= createmarker(map, new GPoint(PuntoX, PuntoY), htmlProj, prjIcon); //Spento map.addOverlay(marker[a]); } }else{ html = "Nessuna informazione visualizzabile"; htmlBalloon = "Nessuna informazione visualizzabile"; IndiceArea = -1; } } if (circledrawn==1) { map.removeOverlay(circle); } circle=drawCircle(myPoint, 2.5, 40); circledrawn = 1 map.openInfoWindow(myPoint, htmlBalloon); //document.getElementById("infos").innerHTML = html; } } request.send(null); // Canali var requestPoly = GXmlHttp.create(); //var om = new OverlayMessage(document.getElementById('map')); requestPoly.open("GET", "http://mappe.bpms.re.it/maps-cbec/includes/queries/querybypointpoly.php?Ent=AreeUbicazioneImmobili&x=" + myPoint.x + "&y=" + myPoint.y + "&Poly=ReteCanaliCBEC&Radius=1000", true); requestPoly.onreadystatechange = function() { if (requestPoly.readyState == 1) { //om.Set('Caricamento dati...'); loading(true); } if (requestPoly.readyState == 4) { for (x = 0; x < numPoly; x++) { map.removeOverlay(polyline[x]); } var xmlDocCanali = GXml.parse(requestPoly.responseText); // ========= Now process the polylines =========== if(xmlDocCanali){ if(xmlDocCanali.documentElement){ var canali = xmlDocCanali.documentElement.getElementsByTagName("ReteCanaliCBECFeature"); // read each line numPoly = canali.length; for (a = 0; a < canali.length; a++) { // get any line attributes var coordinate = GXml.value(canali[a].getElementsByTagName("Coordinate")[0]); var livelli = GXml.value(canali[a].getElementsByTagName("Livelli")[0]); var prenome = GXml.value(canali[a].getElementsByTagName("Prenome")[0]); var uso = GXml.value(canali[a].getElementsByTagName("Uso")[0]); var name = GXml.value(canali[a].getElementsByTagName("Nome")[0]); var DDRAlberi = GXml.value(canali[a].getElementsByTagName("DDRAlberi")[0]); var DDRScavi = GXml.value(canali[a].getElementsByTagName("DDRScavi")[0]); var DDRFabbricati = GXml.value(canali[a].getElementsByTagName("DDRFabbricati")[0]); var DDRDepositoTerra = GXml.value(canali[a].getElementsByTagName("DDRDepositoTerra")[0]); var infos = "
" + prenome + " " + name + "
"; // spento per non mettere gli attributi+ // "Uso: " + uso + "
Distanze di rispetto

Alberi e Siepi: " + DDRAlberi + " metri
Scavi e Movimento Terra:" + DDRScavi + " metri
Fabbricati e Recinzioni:" + DDRFabbricati + " metri
Deposito Terra:" + DDRDepositoTerra +" metri
"; polyline[a]= createpoly(map, coordinate, livelli, infos, "#0033FF") map.addOverlay(polyline[a]); //om.Clear(); } } loading(false); }else{ setMsg("Nessun canale presente nell'area selezionata"); } // ================================================ } } requestPoly.send(null); // Impianti (ex Idrovori) var requestIdro = GXmlHttp.create(); requestIdro.open("GET", "http://mappe.bpms.re.it/maps-cbec/includes/queries/querybypoint.php?Ent=AreeUbicazioneImmobili&x=" + myPoint.x + "&y=" + myPoint.y + "&Punti=Impianti&Radius=2500", true); requestIdro.onreadystatechange = function() { if (requestPoly.readyState == 1) { //om.Set('Caricamento dati...'); loading(true); } if (requestIdro.readyState == 4) { for (x = 0; x < numMarkersIdro; x++) { map.removeOverlay(markerIdro[x]); } var xmlDocIdro = GXml.parse(requestIdro.responseText); if(xmlDocIdro){ if(xmlDocIdro.documentElement){ var Impianti = xmlDocIdro.documentElement.getElementsByTagName("ImpiantiFeature"); numMarkersIdro=Impianti.length; for (var b = 0; b < numMarkersIdro; b++) { // get any Feature var nome = (Impianti[b].getElementsByTagName("NOME").firstChild)? GXml.value(Impianti[b].getElementsByTagName("NOME")[0]):""; //var canale = (Impianti[b].getElementsByTagName("CANALE").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("CANALE")[0]):""; //var tensione = (Impianti[b].getElementsByTagName("TENSIONE_V").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("TENSIONE_V")[0]):""; //var bacino = (Impianti[b].getElementsByTagName("BACINO").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("BACINO")[0]):""; //var codImp = (Impianti[b].getElementsByTagName("COD_IMPIAN").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("COD_IMPIAN")[0]):""; //var codTipo = (Impianti[b].getElementsByTagName("COD_TIPO").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("COD_TIPO")[0]):""; //var tipo = (Impianti[b].getElementsByTagName("TIPO").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("TIPO")[0]):""; //var rTermica = (Impianti[b].getElementsByTagName("R_TERMICA").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("R_TERMICA")[0]):""; //var immagine = (Impianti[b].getElementsByTagName("FOTO").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("FOTO")[0]):""; //var codCons = (Impianti[b].getElementsByTagName("COD_CONS").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("COD_CONS")[0]):""; //var mcSMax = (Impianti[b].getElementsByTagName("MC_S_MAX").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("MC_S_MAX")[0]):""; //var hMax = (Impianti[b].getElementsByTagName("H_MAX").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("H_MAX")[0]):""; //var potenza = (Impianti[b].getElementsByTagName("POTENZA_KW").firstChild)? Gxml.value(Impianti[b].getElementsByTagName("POTENZA_KW")[0]):""; var PuntoX = GXml.value(Impianti[b].getElementsByTagName("PuntoX")[0]); var PuntoY = GXml.value(Impianti[b].getElementsByTagName("PuntoY")[0]); var NPompe = GXml.value(Impianti[b].getElementsByTagName("NUM_POMPE")[0]); var Note = GXml.value(Impianti[b].getElementsByTagName("NOTE")[0]); var htmlIdro= "
" + nome + "
" + "N. Pompe: " + NPompe + "
" + "Tensione: " + tensione + "
" + "Bacino: " + bacino + "
" + "Codice Impianto: " + codImp + "
" + "Codice Tipo: " + codTipo + "
" + "Tipo: " + tipo + "
" + "R.Termica: " + rTermica + "
" + "Codice Cons: " + codCons + "
" + "MC S MAX: " + mcSMax + "
" + "Altezza Massima: " + hMax + "
" + "Potenza: " + potenza + "
" + "Note: " + Note + "
" + + immagine; markerIdro[b]=createmarker(map, new GPoint(PuntoX, PuntoY), htmlIdro,pltIcon); map.addOverlay(markerIdro[b]); } } loading(false); }else{ setMsg("Nessun canale presente nell'area selezionata"); } } } requestIdro.send(null); } } ////////////////////////// circle/////////////////////////////// function drawCircle(center, radius, nodes, liColor, liWidth, liOpa, fillColor, fillOpa) { // Esa 2006 //calculating km/degree var latConv = center.distanceFrom(new GLatLng(center.lat()+0.1, center.lng()))/100; var lngConv = center.distanceFrom(new GLatLng(center.lat(), center.lng()+0.1))/100; //Loop var points = []; var step = parseInt(360/nodes)||10; for(var i=0; i<=360; i+=step) { var pint = new GLatLng(center.lat() + (radius/latConv * Math.cos(i * Math.PI/180)), center.lng() + (radius/lngConv * Math.sin(i * Math.PI/180))); points.push(pint); //bounds.extend(pint); //this is for fit function } liColor = liColor||fillColor||"#ff6600"; fillColor = fillColor||liColor||"#ff6600"; liWidth = liWidth||2; var poly = new GPolygon(points,liColor,liWidth,liOpa,fillColor,fillOpa); map.addOverlay(poly); return poly } function shLocalInfos(bool){ if(marker != null){ for(var inc = 0; inc < marker.length; inc++){ if(bool){ marker[inc].show(); }else{ marker[inc].hide(); } } } if(markerIdro != null){ for(var inc = 0; inc < markerIdro.length; inc++){ if(bool){ markerIdro[inc].show(); }else{ markerIdro[inc].hide(); } } } if(polyline != null){ for(var inc = 0; inc < polyline.length; inc++){ if(bool){ polyline[inc].show(); }else{ polyline[inc].hide(); } } } if(circle != null){ if(bool){ circle.show(); }else{ circle.hide(); } } if(geoXmlAreeLi){ if(bool){ geoXmlAreeLi.show(); }else{ geoXmlAreeLi.hide(); } } }