Commit 3a14264151265ad1e67db3f60c89cde3bc26026a
1 parent
6b507d8a
Exists in
master
and in
7 other branches
--no commit message
Showing
3 changed files
with
72 additions
and
53 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_toponimia.php
| ... | ... | @@ -177,6 +177,7 @@ Retorno: |
| 177 | 177 | error_reporting(0); |
| 178 | 178 | if(!$this->layer){return "erro";} |
| 179 | 179 | $this->removeToponimia(); |
| 180 | + | |
| 180 | 181 | if (!isset($tipo)){$tipo = "";} |
| 181 | 182 | if ($item != "") //o layer nao tem tabela mas tem toponimia |
| 182 | 183 | { |
| ... | ... | @@ -186,7 +187,7 @@ Retorno: |
| 186 | 187 | $nomer = nomeRandomico(); |
| 187 | 188 | $novolayer->set("name",$nomer); |
| 188 | 189 | $novolayer->set("group",""); |
| 189 | - $novolayer->set("type",MS_LAYER_ANNOTATION); | |
| 190 | + $novolayer->set("type",$this->layer->type); | |
| 190 | 191 | $nclasses = $novolayer->numclasses; |
| 191 | 192 | for ($i=0; $i < $nclasses; ++$i){ |
| 192 | 193 | $c = $novolayer->getclass($i); |
| ... | ... | @@ -242,13 +243,15 @@ Retorno: |
| 242 | 243 | } |
| 243 | 244 | if ($fonte != "bitmap") |
| 244 | 245 | { |
| 245 | - $label->set("type",MS_TRUETYPE); | |
| 246 | + //$label->set("type",MS_TRUETYPE); | |
| 247 | + $label->updatefromstring("LABEL TYPE TRUETYPE END"); | |
| 246 | 248 | $label->set("font",$fonte); |
| 247 | 249 | $label->set("size",$tamanho); |
| 248 | 250 | } |
| 249 | 251 | else |
| 250 | 252 | { |
| 251 | - $label->set("type",MS_BITMAP); | |
| 253 | + //$label->set("type",MS_BITMAP); | |
| 254 | + $label->updatefromstring("LABEL TYPE BITMAP END"); | |
| 252 | 255 | //$label->set("font",$fonte); |
| 253 | 256 | $t = MS_TINY; |
| 254 | 257 | if ($tamanho > 5 ){$t = MS_TINY;} |
| ... | ... | @@ -261,10 +264,10 @@ Retorno: |
| 261 | 264 | if($angulo > 0){ |
| 262 | 265 | $label->set("angle",$angulo); |
| 263 | 266 | } |
| 264 | - if($angulo == "AUTO") | |
| 265 | - {$label->updatefromstring("LABEL ANGLE AUTO END");} | |
| 266 | - if (strtoupper($angulo) == "CURVO" || strtoupper($angulo) == "FOLLOW") | |
| 267 | - { | |
| 267 | + if($angulo == "AUTO"){ | |
| 268 | + $label->updatefromstring("LABEL ANGLE AUTO END"); | |
| 269 | + } | |
| 270 | + if (strtoupper($angulo) == "CURVO" || strtoupper($angulo) == "FOLLOW"){ | |
| 268 | 271 | $label->updatefromstring("LABEL ANGLE FOLLOW END"); |
| 269 | 272 | } |
| 270 | 273 | corE($label,$cor,"color"); | ... | ... |
ferramentas/editorol/editorol.js
| ... | ... | @@ -657,8 +657,8 @@ i3GEO.editorOL = |
| 657 | 657 | YAHOO.legendaeditorOL.container.panel.show(); |
| 658 | 658 | } |
| 659 | 659 | }, |
| 660 | - captura : function(x,y,tema) { | |
| 661 | - var d = 0.1, | |
| 660 | + captura : function(x,y,tema,idunico) { | |
| 661 | + var d = 0.001, | |
| 662 | 662 | layer = i3geoOL.getLayersByName(tema)[0], |
| 663 | 663 | xy = [x,y], |
| 664 | 664 | u = layer.getSource().getUrls()[0], |
| ... | ... | @@ -719,6 +719,9 @@ i3GEO.editorOL = |
| 719 | 719 | }) |
| 720 | 720 | ); |
| 721 | 721 | f.setId(i3GEO.util.uid()); |
| 722 | + f.setProperties({ | |
| 723 | + idUnico : idunico | |
| 724 | + }); | |
| 722 | 725 | c.addFeature(f); |
| 723 | 726 | } |
| 724 | 727 | }; |
| ... | ... | @@ -800,51 +803,54 @@ i3GEO.editorOL = |
| 800 | 803 | }, |
| 801 | 804 | //TODO verificar se esta funcionando |
| 802 | 805 | salvaGeo : function() { |
| 803 | - var geos = i3GEO.desenho.layergrafico.selectedFeatures, n = geos.length, funcaoOK = | |
| 804 | - function() { | |
| 806 | + var s = i3GEO.desenho.layergrafico.getSource(), | |
| 807 | + n = i3GEO.editorOL.idsSelecionados.length, | |
| 808 | + funcaoOK = function() { | |
| 805 | 809 | // verifica se a geometria contem o atributo que indica a coluna ou codigo unico |
| 806 | - if (geos[0].geometry) { | |
| 807 | - var registros = "", valorunico = "", nometema = $i("editorOLcomboTemaEditavel").value, key = "", tema, redesenha, p, g = | |
| 808 | - i3GEO.editorOL.google2wgs(geos[0].geometry); | |
| 809 | - if (nometema == "") { | |
| 810 | - return; | |
| 811 | - } | |
| 812 | - tema = i3GEO.arvoreDeCamadas.pegaTema(nometema, "", "name"); | |
| 813 | - // o tema contem o indicador de qual e a coluna que contem o identificador unico | |
| 814 | - if (geos[0].attributes.registros) { | |
| 815 | - registros = geos[0].attributes.registros; | |
| 816 | - for (key in registros) { | |
| 817 | - if (registros[key] && key == tema.colunaidunico) { | |
| 818 | - valorunico = registros[key]; | |
| 819 | - } | |
| 820 | - } | |
| 821 | - } | |
| 822 | - redesenha = function(retorno) { | |
| 823 | - i3GEO.janela.fechaAguarde("aguardeSalvaPonto"); | |
| 824 | - i3GEO.desenho.layergrafico.removeFeatures(i3GEO.desenho.layergrafico.selectedFeatures); | |
| 825 | - i3GEO.Interface.atualizaTema("", nometema); | |
| 826 | - }; | |
| 827 | - i3GEO.janela.AGUARDEMODAL = true; | |
| 828 | - i3GEO.janela.abreAguarde("aguardeSalvaPonto", $trad("adic") + "..."); | |
| 829 | - i3GEO.janela.AGUARDEMODAL = false; | |
| 810 | + var f = s.getFeatureById(i3GEO.editorOL.idsSelecionados[0]), | |
| 811 | + g = f.getGeometry(), | |
| 812 | + tema = $i("editorOLcomboTemaEditavel").value, | |
| 813 | + redesenha, p, format; | |
| 830 | 814 | |
| 831 | - // cria um novo registro | |
| 832 | - if (valorunico == "") { | |
| 833 | - p = | |
| 834 | - i3GEO.configura.locaplic + "/ferramentas/editortema/exec.php?funcao=adicionaGeometria&g_sid=" | |
| 835 | - + i3GEO.configura.sid; | |
| 836 | - cpJSON.call(p, "foo", redesenha, "&tema=" + nometema + "&wkt=" + g); | |
| 837 | - } else { | |
| 838 | - // atualiza a geometria | |
| 839 | - p = | |
| 840 | - i3GEO.configura.locaplic + "/ferramentas/editortema/exec.php?funcao=atualizaGeometria&g_sid=" | |
| 841 | - + i3GEO.configura.sid; | |
| 842 | - cpJSON.call(p, "foo", redesenha, "&idunico=" + valorunico + "&tema=" + nometema + "&wkt=" + g); | |
| 843 | - } | |
| 815 | + g = i3GEO.editorOL.google2wgs(g); | |
| 816 | + format = new ol.format.WKT(); | |
| 817 | + f.setGeometry(g); | |
| 818 | + | |
| 819 | + if (tema == "") { | |
| 820 | + return; | |
| 821 | + } | |
| 822 | + redesenha = function(retorno) { | |
| 823 | + i3GEO.janela.fechaAguarde("aguardeSalvaPonto"); | |
| 824 | + i3GEO.editorOL.removeFeaturesSel(); | |
| 825 | + i3GEO.Interface.atualizaTema("", tema); | |
| 826 | + }; | |
| 827 | + i3GEO.janela.AGUARDEMODAL = true; | |
| 828 | + i3GEO.janela.abreAguarde("aguardeSalvaPonto", $trad("adic") + "..."); | |
| 829 | + i3GEO.janela.AGUARDEMODAL = false; | |
| 830 | + | |
| 831 | + // cria um novo registro | |
| 832 | + if(!f.getProperties().idUnico || f.getProperties().idUnico == ""){ | |
| 833 | + p = i3GEO.configura.locaplic | |
| 834 | + + "/ferramentas/editortema/exec.php?funcao=adicionaGeometria&g_sid=" | |
| 835 | + + i3GEO.configura.sid; | |
| 836 | + cpJSON.call(p, "foo", redesenha, "&tema=" + tema + "&wkt=" + format.writeFeatures([f])); | |
| 837 | + } else { | |
| 838 | + // atualiza a geometria | |
| 839 | + p = i3GEO.configura.locaplic | |
| 840 | + + "/ferramentas/editortema/exec.php?funcao=atualizaGeometria&g_sid=" | |
| 841 | + + i3GEO.configura.sid; | |
| 842 | + cpJSON.call( | |
| 843 | + p, | |
| 844 | + "foo", | |
| 845 | + redesenha, | |
| 846 | + "&idunico=" + f.getProperties().idUnico + "&tema=" + tema + "&wkt=" + format.writeFeatures([f]) | |
| 847 | + ); | |
| 844 | 848 | } |
| 845 | - }, funcaoCombo = function(obj) { | |
| 846 | - $i("editorOLondeComboTemaEditavel").innerHTML = obj.dados; | |
| 847 | - }, texto = $trad("stema") + ":<br><div id=editorOLondeComboTemaEditavel ></div><br><br>"; | |
| 849 | + }, | |
| 850 | + funcaoCombo = function(obj) { | |
| 851 | + $i("editorOLondeComboTemaEditavel").innerHTML = obj.dados; | |
| 852 | + }, | |
| 853 | + texto = $trad("stema") + ":<br><div id=editorOLondeComboTemaEditavel ></div><br><br>"; | |
| 848 | 854 | if (n != 1) { |
| 849 | 855 | i3GEO.janela.tempoMsg($trad("seluma")); |
| 850 | 856 | } else { |
| ... | ... | @@ -1430,7 +1436,8 @@ i3GEO.editorOL = |
| 1430 | 1436 | url = layer.getSource().getUrls()[0]; |
| 1431 | 1437 | xy = evt.target.downPx_; |
| 1432 | 1438 | retorno = function(r){ |
| 1433 | - var texto = "", lonlattexto, xy, temp, temp1, n, i, f = [], textoN = r.split(":"); | |
| 1439 | + var valorunico = "", camada, texto = "", lonlattexto, xy, temp, temp1, n, i, f = [], textoN = r.split(":"); | |
| 1440 | + camada = i3GEO.arvoreDeCamadas.pegaTema(tema.value, "", "name"); | |
| 1434 | 1441 | xy = evt.feature.getGeometry().getFirstCoordinate(); |
| 1435 | 1442 | i3GEO.eventos.cliquePerm.ativo = true; |
| 1436 | 1443 | try { |
| ... | ... | @@ -1445,8 +1452,14 @@ i3GEO.editorOL = |
| 1445 | 1452 | for (i = 0; i < n; i++) { |
| 1446 | 1453 | temp1 = temp[i].replace(/^\s+/, ""); |
| 1447 | 1454 | temp1 = temp1.replace(/\s+$/, ""); |
| 1448 | - if (temp1 != "") | |
| 1455 | + if (temp1 != ""){ | |
| 1456 | + //verifica se a coluna eh o idunico e pega o valor | |
| 1457 | + if(camada.colunaidunico != "" && temp1.split(":")[0].trim() == camada.colunaidunico){ | |
| 1458 | + valorunico = temp1.split(":")[1].trim(); | |
| 1459 | + temp1 = "(*) "+temp1; | |
| 1460 | + } | |
| 1449 | 1461 | f.push(temp1); |
| 1462 | + } | |
| 1450 | 1463 | } |
| 1451 | 1464 | texto = "<pre>" + f.join("<br>") + "</pre>"; |
| 1452 | 1465 | } |
| ... | ... | @@ -1458,6 +1471,9 @@ i3GEO.editorOL = |
| 1458 | 1471 | + xy[1] |
| 1459 | 1472 | + ",\"" |
| 1460 | 1473 | + tema.value |
| 1474 | + + "\"" | |
| 1475 | + + ",\"" | |
| 1476 | + + valorunico | |
| 1461 | 1477 | + "\")'>edita geometria</span><br>"; |
| 1462 | 1478 | i3GEO.Interface.openlayers.balao("<div style='text-align:left' >" + lonlattexto + texto + "</div>","", xy[0], xy[1], false, false); |
| 1463 | 1479 | i3GEO.eventos.cliquePerm.ativo = false; | ... | ... |