diff --git a/classesjs/classe_analise.js b/classesjs/classe_analise.js index 5385b7f..f27982d 100644 --- a/classesjs/classe_analise.js +++ b/classesjs/classe_analise.js @@ -317,7 +317,7 @@ i3GEO.analise = { var janela; i3GEO.eventos.cliquePerm.ativa(); //@TODO remover - if(i3GEO.Interface.ATUAL !== "openlayers"){ + if(i3GEO.Interface.ATUAL !== "openlayers" && i3GEO.Interface.ATUAL !== "googlemaps"){ i3GEO.Interface.ATUAL !== "googleearth" ? i3GEO.desenho.richdraw.fecha() : i3GEO.Interface.googleearth.removePlacemark("divGeometriasTemp"); i3GEO.util.removeChild("pontosins"); if($i("divGeometriasTemp")) @@ -436,7 +436,7 @@ i3GEO.analise = { //raio if($i("pararraios") && $i("pararraios").checked === true ){ circ = new OpenLayers.Feature.Vector( - OpenLayers.Geometry.Polygon.createRegularPolygon( + OpenLayers.Geometry.Polygon.createRegularPolygon( point, raio, 30 @@ -548,29 +548,126 @@ i3GEO.analise = { } }, googlemaps:{ + /** + * Inicializa o processo + * Cria a variavel para guardar os pontos + * Executa a funcao de inicializacao do desenho, que cria o layer para receber os graficos + */ inicia: function(){ - if (g_tipoacao !== "mede"){ - if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeDistancia.clique()") < 0) - {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeDistancia.clique()");} - if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeDistancia.movimento()") < 0) - {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeDistancia.movimento()");} - if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeDistancia.fechaJanela()") < 0) - {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeDistancia.fechaJanela()");} - $i("mostradistancia").style.display="block"; - i3GEO.desenho.criaContainerRichdraw(); - i3GEO.desenho.richdraw.lineColor = "black"; - i3GEO.desenho.richdraw.lineWidth = "2px"; - g_tipoacao = "mede"; - } - else{ - i3GEO.desenho.richdraw.fecha(); - var Dom = YAHOO.util.Dom; - Dom.setStyle("mostradistancia","display","none"); - Dom.setStyle("pontosins","display","none"); + var linha,evtclick,evtmousemove, + estilo = i3GEO.desenho.estilos[i3GEO.desenho.estiloPadrao]; + i3GEO.desenho[i3GEO.Interface["ATUAL"]].inicia(); + i3GeoMap.setOptions({disableDoubleClickZoom:true}); + i3GEO.analise.medeDistancia.pontos = { + xpt: [], + ypt: [], + dist: [], + mvcLine: new google.maps.MVCArray(), + mvcMarkers: new google.maps.MVCArray(), + line: null, + polygon: null + }; + var pontos = i3GEO.analise.medeDistancia.pontos; + evtclick = google.maps.event.addListener(i3GeoMap, "click", function(evt) { + // When the map is clicked, pass the LatLng obect to the measureAdd function + pontos.mvcLine.push(evt.latLng); + pontos.xpt.push(evt.latLng.lng()); + pontos.ypt.push(evt.latLng.lat()); + //mais um ponto para criar uma linha movel + pontos.mvcLine.push(evt.latLng); + }); + evtmousemove = google.maps.event.addListener(i3GeoMap, "mousemove", function(evt) { + // If there is more than one vertex on the line + if (pontos.mvcLine.getLength() > 1) { + // If the line hasn't been created yet + if (!pontos.line) { + // Create the line (google.maps.Polyline) + pontos.line = new google.maps.Polyline({ + map: i3GeoMap, + clickable: false, + strokeColor: "#FF0000", + strokeOpacity: 1, + strokeWeight: 3, + path:pontos.mvcLine + }); + } + pontos.mvcLine.pop(); + pontos.mvcLine.push(evt.latLng); + } + }); + google.maps.event.addListener(i3GeoMap, "dblclick", function(evt) { + google.maps.event.removeListener(evtclick); + google.maps.event.removeListener(evtmousemove); + i3GEO.analise.medeDistancia.googlemaps.inicia(); + }); + + }, + /** + * Soma os valores de distancia guardados em pontos.dist + */ + somaDist: function(){ + var n,i, + total = 0; + n = i3GEO.analise.medeDistancia.pontos.dist.length; + for(i=0;i 0){ + controle[0].deactivate(); + i3geoOL.removeControl(controle[0]); + } + if(f && f.length > 0){ + temp = window.confirm($trad("x94")); + if(temp){ + i3GEO.desenho.layergrafico.destroyFeatures(f); + } + } + f = i3GEO.desenho.layergrafico.getFeaturesByAttribute("origem","medeDistanciaExcluir"); + if(f && f.length > 0){ + i3GEO.desenho.layergrafico.destroyFeatures(f); + } + */ + }, + /** + * Mostra a totalizacao das linhas ja digitalizadas + */ + mostraTotal: function(trecho,total){ + var mostra = $i("mostradistancia_calculo"), + texto; + if (mostra){ + texto = ""+$trad("x96")+": "+total.toFixed(3)+" km"+ + "
"+$trad("x96")+": "+(total*1000).toFixed(2)+" m"+ + "
"+$trad("x25")+": "+i3GEO.calculo.metododistancia; + mostra.innerHTML = texto; + } + }, + /** + * Mostra o valor do trecho entre o ultimo ponto clicado e a posicao do mouse + */ + mostraParcial: function(trecho,parcial,direcao){ + var mostra = $i("mostradistancia_calculo_movel"), + texto; + if (mostra){ + texto = ""+$trad("x95")+": "+trecho.toFixed(3)+" km"+ + "
"+$trad("x97")+": "+(parcial + trecho).toFixed(3)+" km" + + "
"+$trad("x23")+" (DMS): "+direcao.toFixed(4); + mostra.innerHTML = texto; + } } }, googleearth:{ @@ -973,231 +1070,231 @@ i3GEO.analise = { } ); i3geoOL.addControl(poligono); - } - }, - /** - * Soma os valores de distancia guardados em pontos.dist - */ - somaDist: function(){ - var n,i, - total = 0; - n = i3GEO.analise.medeArea.pontos.dist.length; - for(i=0;i 0){ - controle[0].deactivate(); - i3geoOL.removeControl(controle[0]); - } - if(f && f.length > 0){ - temp = window.confirm($trad("x94")); - if(temp){ + } + }, + /** + * Soma os valores de distancia guardados em pontos.dist + */ + somaDist: function(){ + var n,i, + total = 0; + n = i3GEO.analise.medeArea.pontos.dist.length; + for(i=0;i 0){ + controle[0].deactivate(); + i3geoOL.removeControl(controle[0]); + } + if(f && f.length > 0){ + temp = window.confirm($trad("x94")); + if(temp){ + i3GEO.desenho.layergrafico.destroyFeatures(f); + } + } + f = i3GEO.desenho.layergrafico.getFeaturesByAttribute("origem","medeAreaExcluir"); + if(f && f.length > 0){ i3GEO.desenho.layergrafico.destroyFeatures(f); } - } - f = i3GEO.desenho.layergrafico.getFeaturesByAttribute("origem","medeAreaExcluir"); - if(f && f.length > 0){ - i3GEO.desenho.layergrafico.destroyFeatures(f); - } - }, - /** - * Mostra a totalizacao das linhas ja digitalizadas - */ - mostraTotal: function(per,area){ - var mostra = $i("mostraarea_calculo"), - texto; - if (mostra){ - texto = ""+$trad("d21at")+": "+(area/1000000).toFixed(3)+" km2"+ - "
"+$trad("d21at")+": "+(area/10000).toFixed(2)+" ha"+ - "
"+$trad("x98")+": "+(per).toFixed(2)+" km"+ - "
"+$trad("x25")+": "+i3GEO.calculo.metododistancia; - mostra.innerHTML = texto; + }, + /** + * Mostra a totalizacao das linhas ja digitalizadas + */ + mostraTotal: function(per,area){ + var mostra = $i("mostraarea_calculo"), + texto; + if (mostra){ + texto = ""+$trad("d21at")+": "+(area/1000000).toFixed(3)+" km2"+ + "
"+$trad("d21at")+": "+(area/10000).toFixed(2)+" ha"+ + "
"+$trad("x98")+": "+(per).toFixed(2)+" km"+ + "
"+$trad("x25")+": "+i3GEO.calculo.metododistancia; + mostra.innerHTML = texto; + } + }, + /** + * Mostra o valor do trecho entre o ultimo ponto clicado e a posicao do mouse + */ + mostraParcial: function(trecho,per,area,direcao){ + var mostra = $i("mostraarea_calculo_parcial"), + texto; + if (mostra){ + texto = ""+$trad("d21at")+": "+(area/1000000).toFixed(3)+" km2"+ + "
"+$trad("d21at")+": "+(area/10000).toFixed(2)+" ha"+ + "
"+$trad("x95")+": "+trecho.toFixed(3)+" km"+ + "
"+$trad("x98")+": "+(per).toFixed(3)+" km" + + "
"+$trad("x23")+" (DMS): "+direcao.toFixed(4); + mostra.innerHTML = texto; + } } }, - /** - * Mostra o valor do trecho entre o ultimo ponto clicado e a posicao do mouse - */ - mostraParcial: function(trecho,per,area,direcao){ - var mostra = $i("mostraarea_calculo_parcial"), - texto; - if (mostra){ - texto = ""+$trad("d21at")+": "+(area/1000000).toFixed(3)+" km2"+ - "
"+$trad("d21at")+": "+(area/10000).toFixed(2)+" ha"+ - "
"+$trad("x95")+": "+trecho.toFixed(3)+" km"+ - "
"+$trad("x98")+": "+(per).toFixed(3)+" km" + - "
"+$trad("x23")+" (DMS): "+direcao.toFixed(4); - mostra.innerHTML = texto; - } - } - }, - googlemaps: { - inicia: function(){ - var x,y,ll1,ll2,d, - calculo = i3GEO.calculo, - montacontainer = function(){ - var desenho = i3GEO.desenho; - $i("mostraarea_calculo").innerHTML = "Clique no mapa para desenhar o poligono. Clique duas vezes para concluir"; - i3GEO.barraDeBotoes.ativaIcone("area"); - g_tipoacao = "area"; - desenho.criaContainerRichdraw(); - desenho.richdraw.lineColor = "green"; - desenho.richdraw.lineWidth = "2px"; - }; - i3GEO.analise.medeArea.criaJanela(); - if (g_tipoacao !== "area"){ - $i("mostraarea_calculo").innerHTML = ""; - if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeArea.clique()") < 0) - {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeArea.clique()");} - if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeArea.movimento()") < 0) - {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeArea.movimento()");} - if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeArea.fechaJanela()") < 0) - {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeArea.fechaJanela()");} - // - //a API do Openlayers e GoogleMaps tem uma funcao propria de obtencao da resolucao de cada pixel - //essa funcao e embutida em i3GEO.calculo.tela2dd - // - if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ - x = parseInt(i3GEO.parametros.w / 2,10); - y = parseInt(i3GEO.parametros.h / 2,10); - ll1 = calculo.tela2dd(x,y,"",""); - ll2 = calculo.tela2dd(x + 1,y,"",""); - d = calculo.distancia(ll1[0],ll1[1],ll2[0],ll2[1]); - d = d * 1000; - g_areapixel = d * d; - g_areapixel < 0 ? i3GEO.janela.tempoMsg("Nao e possivel calcular a area. Entre em contato com o administrador do sistema.") : montacontainer(); + googlemaps: { + inicia: function(){ + var x,y,ll1,ll2,d, + calculo = i3GEO.calculo, + montacontainer = function(){ + var desenho = i3GEO.desenho; + $i("mostraarea_calculo").innerHTML = "Clique no mapa para desenhar o poligono. Clique duas vezes para concluir"; + i3GEO.barraDeBotoes.ativaIcone("area"); + g_tipoacao = "area"; + desenho.criaContainerRichdraw(); + desenho.richdraw.lineColor = "green"; + desenho.richdraw.lineWidth = "2px"; + }; + i3GEO.analise.medeArea.criaJanela(); + if (g_tipoacao !== "area"){ + $i("mostraarea_calculo").innerHTML = ""; + if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeArea.clique()") < 0) + {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeArea.clique()");} + if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeArea.movimento()") < 0) + {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeArea.movimento()");} + if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeArea.fechaJanela()") < 0) + {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeArea.fechaJanela()");} + // + //a API do Openlayers e GoogleMaps tem uma funcao propria de obtencao da resolucao de cada pixel + //essa funcao e embutida em i3GEO.calculo.tela2dd + // + if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ + x = parseInt(i3GEO.parametros.w / 2,10); + y = parseInt(i3GEO.parametros.h / 2,10); + ll1 = calculo.tela2dd(x,y,"",""); + ll2 = calculo.tela2dd(x + 1,y,"",""); + d = calculo.distancia(ll1[0],ll1[1],ll2[0],ll2[1]); + d = d * 1000; + g_areapixel = d * d; + g_areapixel < 0 ? i3GEO.janela.tempoMsg("Nao e possivel calcular a area. Entre em contato com o administrador do sistema.") : montacontainer(); + } } + else{i3GEO.desenho.richdraw.fecha();} + }, + fechaJanela: function(){ } - else{i3GEO.desenho.richdraw.fecha();} }, - fechaJanela: function(){ - } - }, - googleearth: { - inicia: function(){ - var x,y,ll1,ll2,d, - calculo = i3GEO.calculo, - montacontainer = function(){ - var desenho = i3GEO.desenho; - $i("mostraarea_calculo").innerHTML = "Clique no mapa para desenhar o poligono. Clique duas vezes para concluir"; - i3GEO.barraDeBotoes.ativaIcone("area"); - g_tipoacao = "area"; - desenho.criaContainerRichdraw(); - desenho.richdraw.lineColor = "green"; - desenho.richdraw.lineWidth = "2px"; - }; - i3GEO.analise.medeArea.criaJanela(); - if (g_tipoacao !== "area"){ - $i("mostraarea_calculo").innerHTML = ""; - if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeArea.clique()") < 0) - {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeArea.clique()");} - if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeArea.movimento()") < 0) - {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeArea.movimento()");} - if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeArea.fechaJanela()") < 0) - {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeArea.fechaJanela()");} - // - //a API do Openlayers e GoogleMaps tem uma funcao propria de obtencao da resolucao de cada pixel - //essa funcao e embutida em i3GEO.calculo.tela2dd - // - if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ - x = parseInt(i3GEO.parametros.w / 2,10); - y = parseInt(i3GEO.parametros.h / 2,10); - ll1 = calculo.tela2dd(x,y,"",""); - ll2 = calculo.tela2dd(x + 1,y,"",""); - d = calculo.distancia(ll1[0],ll1[1],ll2[0],ll2[1]); - d = d * 1000; - g_areapixel = d * d; - g_areapixel < 0 ? i3GEO.janela.tempoMsg("Nao e possivel calcular a area. Entre em contato com o administrador do sistema.") : montacontainer(); + googleearth: { + inicia: function(){ + var x,y,ll1,ll2,d, + calculo = i3GEO.calculo, + montacontainer = function(){ + var desenho = i3GEO.desenho; + $i("mostraarea_calculo").innerHTML = "Clique no mapa para desenhar o poligono. Clique duas vezes para concluir"; + i3GEO.barraDeBotoes.ativaIcone("area"); + g_tipoacao = "area"; + desenho.criaContainerRichdraw(); + desenho.richdraw.lineColor = "green"; + desenho.richdraw.lineWidth = "2px"; + }; + i3GEO.analise.medeArea.criaJanela(); + if (g_tipoacao !== "area"){ + $i("mostraarea_calculo").innerHTML = ""; + if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeArea.clique()") < 0) + {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeArea.clique()");} + if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeArea.movimento()") < 0) + {i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeArea.movimento()");} + if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.analise.medeArea.fechaJanela()") < 0) + {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.analise.medeArea.fechaJanela()");} + // + //a API do Openlayers e GoogleMaps tem uma funcao propria de obtencao da resolucao de cada pixel + //essa funcao e embutida em i3GEO.calculo.tela2dd + // + if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ + x = parseInt(i3GEO.parametros.w / 2,10); + y = parseInt(i3GEO.parametros.h / 2,10); + ll1 = calculo.tela2dd(x,y,"",""); + ll2 = calculo.tela2dd(x + 1,y,"",""); + d = calculo.distancia(ll1[0],ll1[1],ll2[0],ll2[1]); + d = d * 1000; + g_areapixel = d * d; + g_areapixel < 0 ? i3GEO.janela.tempoMsg("Nao e possivel calcular a area. Entre em contato com o administrador do sistema.") : montacontainer(); + } } + else{i3GEO.desenho.richdraw.fecha();} + }, + fechaJanela: function(){ } - else{i3GEO.desenho.richdraw.fecha();} }, - fechaJanela: function(){ - } - }, - //////////////////////////////////////////// - /* + //////////////////////////////////////////// + /* Adiciona uma marca na tela e realiza o calculo de distancia dos pontos inseridos - */ - clique: function(){ - var n,m; - pontosdistobj = i3GEO.analise.pontosdistobj; - if (g_tipoacao === "area"){ - n = pontosdistobj.xpt.length; - pontosdistobj.xpt[n] = objposicaocursor.ddx; - pontosdistobj.ypt[n] = objposicaocursor.ddy; - pontosdistobj.xtela[n] = objposicaocursor.telax; - pontosdistobj.ytela[n] = objposicaocursor.telay; - pontosdistobj.ximg[n] = objposicaocursor.imgx; - pontosdistobj.yimg[n] = objposicaocursor.imgy; - pontosdistobj.dist[n] = 0; - //inclui a linha para ligar com o ponto inicial - if (n === 0){ - try { - pontosdistobj.linhastemp = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[0]-1,pontosdistobj.yimg[0]-1); + */ + clique: function(){ + var n,m; + pontosdistobj = i3GEO.analise.pontosdistobj; + if (g_tipoacao === "area"){ + n = pontosdistobj.xpt.length; + pontosdistobj.xpt[n] = objposicaocursor.ddx; + pontosdistobj.ypt[n] = objposicaocursor.ddy; + pontosdistobj.xtela[n] = objposicaocursor.telax; + pontosdistobj.ytela[n] = objposicaocursor.telay; + pontosdistobj.ximg[n] = objposicaocursor.imgx; + pontosdistobj.yimg[n] = objposicaocursor.imgy; + pontosdistobj.dist[n] = 0; + //inclui a linha para ligar com o ponto inicial + if (n === 0){ + try { + pontosdistobj.linhastemp = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[0]-1,pontosdistobj.yimg[0]-1); + } + catch(e){ + if(typeof(console) !== 'undefined'){console.error(e);} + } } - catch(e){ - if(typeof(console) !== 'undefined'){console.error(e);} + else{ + if(navm) + {i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1]),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n]),pontosdistobj.yimg[n]);} + //parece qe tem um problema de versao do ie aqui + //if(navm) + //{i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n]);} } + try{ + pontosdistobj.linhas[n] = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1); + } + catch(men){ + if(typeof(console) !== 'undefined'){console.error(men);} + } + m = i3GEO.calculo.area(pontosdistobj.xtela,pontosdistobj.ytela,g_areapixel); + i3GEO.util.defineValor("mostraarea_calculo","innerHTML","
m2= "+m.toFixed(2)+"
km2= "+(m/1000000).toFixed(2)+"
ha= "+(m/10000).toFixed(2)); + if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ + i3GEO.util.insereMarca.cria(objposicaocursor.imgx,objposicaocursor.imgy,i3GEO.analise.medeArea.paraCalculo,"divGeometriasTemp","",i3GEO.configura.locaplic+"/imagens/estasel.png",6,6); + i3GEO.desenho.insereCirculo(objposicaocursor.imgx,objposicaocursor.imgy,3,"white"); + } + if(i3GEO.Interface.ATUAL === "googleearth") + {i3GEO.util.insereMarca.cria(objposicaocursor.ddx,objposicaocursor.ddy,i3GEO.analise.medeArea.paraCalculo,"divGeometriasTemp","");} } - else{ - if(navm) - {i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1]),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n]),pontosdistobj.yimg[n]);} - //parece qe tem um problema de versao do ie aqui - //if(navm) - //{i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, (pontosdistobj.ximg[n-1])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n]);} - } - try{ - pontosdistobj.linhas[n] = i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode, i3GEO.desenho.richdraw.fillColor, i3GEO.desenho.richdraw.lineColor, i3GEO.desenho.richdraw.lineWidth, pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1); - } - catch(men){ - if(typeof(console) !== 'undefined'){console.error(men);} - } - m = i3GEO.calculo.area(pontosdistobj.xtela,pontosdistobj.ytela,g_areapixel); - i3GEO.util.defineValor("mostraarea_calculo","innerHTML","
m2= "+m.toFixed(2)+"
km2= "+(m/1000000).toFixed(2)+"
ha= "+(m/10000).toFixed(2)); - if(i3GEO.util.in_array(i3GEO.Interface.ATUAL,["openlayers","googlemaps"])){ - i3GEO.util.insereMarca.cria(objposicaocursor.imgx,objposicaocursor.imgy,i3GEO.analise.medeArea.paraCalculo,"divGeometriasTemp","",i3GEO.configura.locaplic+"/imagens/estasel.png",6,6); - i3GEO.desenho.insereCirculo(objposicaocursor.imgx,objposicaocursor.imgy,3,"white"); - } - if(i3GEO.Interface.ATUAL === "googleearth") - {i3GEO.util.insereMarca.cria(objposicaocursor.ddx,objposicaocursor.ddy,i3GEO.analise.medeArea.paraCalculo,"divGeometriasTemp","");} - } - }, - /* + }, + /* Para o calculo de area e ativa o botao "pan" - */ - paraCalculo: function(){ - var botaoPan = $i("pan"); - g_tipoacao = ""; - botaoPan ? botaoPan.onclick.call() : i3GEO.barraDeBotoes.ativaBotoes(); - }, - /* + */ + paraCalculo: function(){ + var botaoPan = $i("pan"); + g_tipoacao = ""; + botaoPan ? botaoPan.onclick.call() : i3GEO.barraDeBotoes.ativaBotoes(); + }, + /* Realiza o desenho do poligono conforme o usuario movimenta o mouse - */ - movimento: function(){ - var n, - pontosdistobj = i3GEO.analise.pontosdistobj; - if (g_tipoacao === "area"){ - n = pontosdistobj.xpt.length; - if (n > 0){ - i3GEO.desenho.aplica("resizePoligono",pontosdistobj.linhastemp,1); - i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n); + */ + movimento: function(){ + var n, + pontosdistobj = i3GEO.analise.pontosdistobj; + if (g_tipoacao === "area"){ + n = pontosdistobj.xpt.length; + if (n > 0){ + i3GEO.desenho.aplica("resizePoligono",pontosdistobj.linhastemp,1); + i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n); + } } } } -} }; diff --git a/classesjs/classe_desenho.js b/classesjs/classe_desenho.js index 19edf5b..98d71a8 100644 --- a/classesjs/classe_desenho.js +++ b/classesjs/classe_desenho.js @@ -213,6 +213,10 @@ i3GEO.desenho = { } } }, + googlemaps: { + inicia: function(){ + } + }, /* Cria os elementos 'dom' necessários ao uso das funções de desenho sobre o mapa. -- libgit2 0.21.2