Commit de14810c2b36da4046cee793f55a72ce3fad6877
1 parent
63d1ec61
Exists in
master
and in
7 other branches
Atualização do OpenLayers
Showing
5 changed files
with
275 additions
and
93 deletions
Show diff stats
mashups/openlayers.js.php
... | ... | @@ -635,7 +635,7 @@ i3GEO.editorOL = { |
635 | 635 | |
636 | 636 | i3GEOpanelEditor = new OpenLayers.Control.Panel({ |
637 | 637 | displayClass: "olControlEditingToolbar1 noprint", |
638 | - saveState: true, | |
638 | + saveState: false, | |
639 | 639 | activateControl: function(c){ |
640 | 640 | this.deactivate(); |
641 | 641 | this.activate(); |
... | ... | @@ -645,33 +645,42 @@ i3GEO.editorOL = { |
645 | 645 | catch(e){} |
646 | 646 | if(!c.trigger) |
647 | 647 | {c.activate();} |
648 | - else{ | |
649 | - c.trigger.call(); | |
650 | - } | |
648 | + else | |
649 | + {c.trigger.call();} | |
651 | 650 | } |
652 | 651 | }); |
653 | 652 | if(botoes.procura===true){ |
654 | 653 | button = new OpenLayers.Control.Button({ |
655 | 654 | displayClass: "editorOLprocura", |
656 | 655 | trigger: function(){YAHOO.procura.container.panel.show();}, |
657 | - title: "procura" | |
656 | + title: "procura", | |
657 | + type: OpenLayers.Control.TYPE_BUTTON | |
658 | 658 | }); |
659 | 659 | controles.push(button); |
660 | 660 | adiciona = true; |
661 | 661 | } |
662 | 662 | if(botoes.pan===true){ |
663 | - controles.push(new OpenLayers.Control.Navigation({title: "deslocar",displayClass:"editorOLpan"})); | |
663 | + controles.push(new OpenLayers.Control.Navigation({ | |
664 | + title: "deslocar", | |
665 | + displayClass:"editorOLpan", | |
666 | + type: OpenLayers.Control.TYPE_TOOL | |
667 | + })); | |
664 | 668 | adiciona = true; |
665 | 669 | } |
666 | 670 | if(botoes.zoombox===true){ |
667 | - controles.push(new OpenLayers.Control.ZoomBox({title: "zoombox",displayClass: "editorOLzoombox"})); | |
671 | + controles.push(new OpenLayers.Control.ZoomBox({ | |
672 | + title: "zoombox", | |
673 | + displayClass: "editorOLzoombox", | |
674 | + type: OpenLayers.Control.TYPE_TOOL | |
675 | + })); | |
668 | 676 | adiciona = true; |
669 | 677 | } |
670 | 678 | if(botoes.zoomtot===true){ |
671 | 679 | button = new OpenLayers.Control.Button({ |
672 | 680 | displayClass: "editorOLzoomtot", |
673 | 681 | trigger: function(){i3GEO.editorOL.mapa.zoomToMaxExtent();}, |
674 | - title: "ajusta extensão" | |
682 | + title: "ajusta extensão", | |
683 | + type: OpenLayers.Control.TYPE_BUTTON | |
675 | 684 | }); |
676 | 685 | controles.push(button); |
677 | 686 | adiciona = true; |
... | ... | @@ -680,7 +689,8 @@ i3GEO.editorOL = { |
680 | 689 | button = new OpenLayers.Control.Button({ |
681 | 690 | displayClass: "editorOLlegenda", |
682 | 691 | trigger: function(){i3GEO.editorOL.mostraLegenda();}, |
683 | - title: "legenda" | |
692 | + title: "legenda", | |
693 | + type: OpenLayers.Control.TYPE_BUTTON | |
684 | 694 | }); |
685 | 695 | controles.push(button); |
686 | 696 | adiciona = true; |
... | ... | @@ -692,7 +702,8 @@ i3GEO.editorOL = { |
692 | 702 | handlerOptions: {layerOptions: {styleMap: styleMap}}, |
693 | 703 | persist: true, |
694 | 704 | displayClass: "editorOLdistancia", |
695 | - title: "distância" | |
705 | + title: "distância", | |
706 | + type: OpenLayers.Control.TYPE_TOOL | |
696 | 707 | } |
697 | 708 | ); |
698 | 709 | button.events.on({ |
... | ... | @@ -712,7 +723,8 @@ i3GEO.editorOL = { |
712 | 723 | handlerOptions: {layerOptions: {styleMap: styleMap}}, |
713 | 724 | persist: true, |
714 | 725 | displayClass: "editorOLarea", |
715 | - title: "área" | |
726 | + title: "área", | |
727 | + type: OpenLayers.Control.TYPE_TOOL | |
716 | 728 | } |
717 | 729 | ); |
718 | 730 | button.events.on({ |
... | ... | @@ -732,6 +744,7 @@ i3GEO.editorOL = { |
732 | 744 | layers: [i3GEO.editorOL.layerAtivo()], |
733 | 745 | queryVisible: true, |
734 | 746 | title: "identifica", |
747 | + type: OpenLayers.Control.TYPE_TOOL, | |
735 | 748 | displayClass: "editorOLidentifica", |
736 | 749 | eventListeners: { |
737 | 750 | getfeatureinfo: function(event) { |
... | ... | @@ -780,6 +793,7 @@ i3GEO.editorOL = { |
780 | 793 | { |
781 | 794 | displayClass: "editorOLlinha", |
782 | 795 | title: "digitalizar linha", |
796 | + type: OpenLayers.Control.TYPE_TOOL, | |
783 | 797 | callbacks:{ |
784 | 798 | done: function(feature){ |
785 | 799 | var f = new OpenLayers.Feature.Vector(feature); |
... | ... | @@ -809,6 +823,7 @@ i3GEO.editorOL = { |
809 | 823 | { |
810 | 824 | displayClass: "editorOLponto", |
811 | 825 | title: "digitalizar ponto", |
826 | + type: OpenLayers.Control.TYPE_TOOL, | |
812 | 827 | callbacks:{ |
813 | 828 | done: function(feature){ |
814 | 829 | var f = new OpenLayers.Feature.Vector(feature); |
... | ... | @@ -838,6 +853,7 @@ i3GEO.editorOL = { |
838 | 853 | { |
839 | 854 | displayClass: "editorOLpoligono", |
840 | 855 | title: "digitalizar polígono", |
856 | + type: OpenLayers.Control.TYPE_TOOL, | |
841 | 857 | //handlerOptions: {holeModifier: "altKey"}, |
842 | 858 | callbacks:{ |
843 | 859 | done: function(feature){ |
... | ... | @@ -868,6 +884,7 @@ i3GEO.editorOL = { |
868 | 884 | { |
869 | 885 | displayClass: "editorOLtexto", |
870 | 886 | title: "incluir texto", |
887 | + type: OpenLayers.Control.TYPE_TOOL, | |
871 | 888 | persist: true, |
872 | 889 | callbacks:{ |
873 | 890 | done: function(feature){ |
... | ... | @@ -903,6 +920,7 @@ i3GEO.editorOL = { |
903 | 920 | { |
904 | 921 | displayClass: "editorOLcorta", |
905 | 922 | title: "corta figura", |
923 | + type: OpenLayers.Control.TYPE_TOOL, | |
906 | 924 | clickout: true, |
907 | 925 | toggle: true, |
908 | 926 | trigger: function(){ |
... | ... | @@ -939,6 +957,7 @@ i3GEO.editorOL = { |
939 | 957 | { |
940 | 958 | displayClass: "editorOLedita", |
941 | 959 | title: "modifica figura", |
960 | + type: OpenLayers.Control.TYPE_TOOL, | |
942 | 961 | clickout: true, |
943 | 962 | toggle: true, |
944 | 963 | mode: OpenLayers.Control.ModifyFeature.RESHAPE |
... | ... | @@ -953,7 +972,8 @@ i3GEO.editorOL = { |
953 | 972 | trigger: function(){ |
954 | 973 | i3GEO.editorOL.listaGeometrias(); |
955 | 974 | }, |
956 | - title: "lista geometrias" | |
975 | + title: "lista geometrias", | |
976 | + type: OpenLayers.Control.TYPE_BUTTON | |
957 | 977 | }); |
958 | 978 | controles.push(button); |
959 | 979 | adiciona = true; |
... | ... | @@ -966,7 +986,8 @@ i3GEO.editorOL = { |
966 | 986 | if(document.getElementById("panellistagEditor")) |
967 | 987 | {i3GEO.editorOL.listaGeometrias();} |
968 | 988 | }, |
969 | - title: "traz para frente" | |
989 | + title: "traz para frente", | |
990 | + type: OpenLayers.Control.TYPE_BUTTON | |
970 | 991 | }); |
971 | 992 | controles.push(button); |
972 | 993 | adiciona = true; |
... | ... | @@ -982,7 +1003,8 @@ i3GEO.editorOL = { |
982 | 1003 | {i3GEO.editorOL.carregajts("i3GEO.editorOL.ferramentas()");} |
983 | 1004 | |
984 | 1005 | }, |
985 | - title: "ferramentas" | |
1006 | + title: "ferramentas", | |
1007 | + type: OpenLayers.Control.TYPE_BUTTON | |
986 | 1008 | }); |
987 | 1009 | controles.push(button); |
988 | 1010 | adiciona = true; |
... | ... | @@ -994,6 +1016,7 @@ i3GEO.editorOL = { |
994 | 1016 | { |
995 | 1017 | displayClass: "editorOLselecao", |
996 | 1018 | title: "seleciona elemento", |
1019 | + type: OpenLayers.Control.TYPE_TOOL, | |
997 | 1020 | clickout: true, |
998 | 1021 | toggle: true, |
999 | 1022 | multiple: false, |
... | ... | @@ -1022,7 +1045,8 @@ i3GEO.editorOL = { |
1022 | 1045 | else |
1023 | 1046 | {alert("Selecione pelo menos um elemento");} |
1024 | 1047 | }, |
1025 | - title: "apaga selecionados" | |
1048 | + title: "apaga selecionados", | |
1049 | + type: OpenLayers.Control.TYPE_BUTTON | |
1026 | 1050 | }); |
1027 | 1051 | controles.push(button); |
1028 | 1052 | adiciona = true; |
... | ... | @@ -1043,7 +1067,8 @@ i3GEO.editorOL = { |
1043 | 1067 | button = new OpenLayers.Control.Button({ |
1044 | 1068 | displayClass: "editorOLpropriedades", |
1045 | 1069 | trigger: function(){i3GEO.editorOL.propriedades();}, |
1046 | - title: "propriedades" | |
1070 | + title: "propriedades", | |
1071 | + type: OpenLayers.Control.TYPE_BUTTON | |
1047 | 1072 | }); |
1048 | 1073 | controles.push(button); |
1049 | 1074 | adiciona = true; |
... | ... | @@ -1052,7 +1077,8 @@ i3GEO.editorOL = { |
1052 | 1077 | button = new OpenLayers.Control.Button({ |
1053 | 1078 | displayClass: "editorOLsalva", |
1054 | 1079 | trigger: function(){i3GEO.editorOL.salvaGeometrias();}, |
1055 | - title: "salva" | |
1080 | + title: "salva", | |
1081 | + type: OpenLayers.Control.TYPE_BUTTON | |
1056 | 1082 | }); |
1057 | 1083 | controles.push(button); |
1058 | 1084 | adiciona = true; |
... | ... | @@ -1066,7 +1092,8 @@ i3GEO.editorOL = { |
1066 | 1092 | catch(e) |
1067 | 1093 | {window.open("openlayers_ajuda.php");} |
1068 | 1094 | }, |
1069 | - title: "ajuda" | |
1095 | + title: "ajuda", | |
1096 | + type: OpenLayers.Control.TYPE_BUTTON | |
1070 | 1097 | }); |
1071 | 1098 | controles.push(button); |
1072 | 1099 | adiciona = true; |
... | ... | @@ -1098,7 +1125,8 @@ i3GEO.editorOL = { |
1098 | 1125 | catch(e){} |
1099 | 1126 | } |
1100 | 1127 | }, |
1101 | - title: "fecha editor" | |
1128 | + title: "fecha editor", | |
1129 | + type: OpenLayers.Control.TYPE_BUTTON | |
1102 | 1130 | }); |
1103 | 1131 | controles.push(button); |
1104 | 1132 | adiciona = true; | ... | ... |
mashups/openlayers_compacto.js
... | ... | @@ -1332,6 +1332,7 @@ var width=style.graphicWidth||style.graphicHeight; |
1332 | 1332 | var height=style.graphicHeight||style.graphicWidth; |
1333 | 1333 | width=width?width:style.pointRadius*2; |
1334 | 1334 | height=height?height:style.pointRadius*2; |
1335 | +//alert("oi"); | |
1335 | 1336 | var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width); |
1336 | 1337 | var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height); |
1337 | 1338 | var opacity=style.graphicOpacity||style.fillOpacity; |
... | ... | @@ -1969,6 +1970,7 @@ var height=style.graphicHeight||style.graphicWidth; |
1969 | 1970 | width=width?width:style.pointRadius*2; |
1970 | 1971 | height=height?height:style.pointRadius*2; |
1971 | 1972 | width*=resolution;height*=resolution; |
1973 | +//alert(width); | |
1972 | 1974 | var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset*resolution:-(0.5*width); |
1973 | 1975 | var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset*resolution:-(0.5*height); |
1974 | 1976 | var opacity=style.graphicOpacity||style.fillOpacity; |
... | ... | @@ -1983,6 +1985,7 @@ else if(this.isComplexSymbol(style.graphicName)){ |
1983 | 1985 | //modificado por edmar |
1984 | 1986 | style.label = " "; |
1985 | 1987 | style.pointRadius = 5; |
1988 | +//alert("oi"); | |
1986 | 1989 | var offset=style.pointRadius*3*resolution;var size=offset*2;var src=this.importSymbol(style.graphicName);widthFactor=this.symbolMetrics[src.id].size*3/size*resolution;var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} |
1987 | 1990 | node.firstChild&&node.removeChild(node.firstChild);node.appendChild(src.firstChild.cloneNode(true));node.setAttributeNS(null,"viewBox",src.getAttributeNS(null,"viewBox"));node.setAttributeNS(null,"width",size);node.setAttributeNS(null,"height",size);node.setAttributeNS(null,"x",node._x-offset);node.setAttributeNS(null,"y",node._y-offset);if(nextSibling){parent.insertBefore(node,nextSibling);}else if(parent){parent.appendChild(node);}}else{node.setAttributeNS(null,"r",style.pointRadius*resolution);} |
1988 | 1991 | var rotation=style.rotation;if(rotation!==undefined||node._rotation!==undefined){node._rotation=rotation;rotation|=0;if(node.nodeName!=="svg"){node.setAttributeNS(null,"transform",["rotate(",rotation,node._x,node._y,")"].join(" "));}else{var metrics=this.symbolMetrics[src.id];node.firstChild.setAttributeNS(null,"transform",["rotate(",rotation,metrics.x,metrics.y,")"].join(" "));}}} |
... | ... | @@ -2151,7 +2154,14 @@ this.root.setAttributeNS(null,"transform",transformString);this.translationParam |
2151 | 2154 | break;case"OpenLayers.Geometry.Rectangle":nodeType="rect";break;case"OpenLayers.Geometry.LineString":nodeType="polyline";break;case"OpenLayers.Geometry.LinearRing":nodeType="polygon";break;case"OpenLayers.Geometry.Polygon":case"OpenLayers.Geometry.Curve":case"OpenLayers.Geometry.Surface":nodeType="path";break;default:break;} |
2152 | 2155 | return nodeType;},setStyle:function(node,style,options){style=style||node._style;options=options||node._options;var r=parseFloat(node.getAttributeNS(null,"r"));var widthFactor=1;var pos;if(node._geometryClass=="OpenLayers.Geometry.Point"&&r){node.style.visibility="";if(style.graphic===false){node.style.visibility="hidden";}else if(style.externalGraphic){pos=this.getPosition(node);if(style.graphicTitle){node.setAttributeNS(null,"title",style.graphicTitle);var label=this.nodeFactory(null,"title");label.textContent=style.graphicTitle;node.appendChild(label);} |
2153 | 2156 | if(style.graphicWidth&&style.graphicHeight){node.setAttributeNS(null,"preserveAspectRatio","none");} |
2154 | -var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;node.setAttributeNS(null,"x",(pos.x+xOffset).toFixed());node.setAttributeNS(null,"y",(pos.y+yOffset).toFixed());node.setAttributeNS(null,"width",width);node.setAttributeNS(null,"height",height);node.setAttributeNS(this.xlinkns,"href",style.externalGraphic);node.setAttributeNS(null,"style","opacity: "+opacity);node.onclick=OpenLayers.Renderer.SVG.preventDefault;}else if(this.isComplexSymbol(style.graphicName)){var offset=style.pointRadius*3;var size=offset*2;var src=this.importSymbol(style.graphicName);pos=this.getPosition(node);widthFactor=this.symbolMetrics[src.id][0]*3/size;var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} | |
2157 | +var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;node.setAttributeNS(null,"x",(pos.x+xOffset).toFixed());node.setAttributeNS(null,"y",(pos.y+yOffset).toFixed());node.setAttributeNS(null,"width",width);node.setAttributeNS(null,"height",height);node.setAttributeNS(this.xlinkns,"href",style.externalGraphic);node.setAttributeNS(null,"style","opacity: "+opacity);node.onclick=OpenLayers.Renderer.SVG.preventDefault;}else if(this.isComplexSymbol(style.graphicName)){ | |
2158 | +//modificado por edmar | |
2159 | +style.label = " "; | |
2160 | +style.pointRadius = 5; | |
2161 | +var offset=style.pointRadius*3;var size=offset*2; | |
2162 | +var src=this.importSymbol(style.graphicName);pos=this.getPosition(node); | |
2163 | +widthFactor=this.symbolMetrics[src.id][0]*3/size; | |
2164 | +var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} | |
2155 | 2165 | node.firstChild&&node.removeChild(node.firstChild);node.appendChild(src.firstChild.cloneNode(true));node.setAttributeNS(null,"viewBox",src.getAttributeNS(null,"viewBox"));node.setAttributeNS(null,"width",size);node.setAttributeNS(null,"height",size);node.setAttributeNS(null,"x",pos.x-offset);node.setAttributeNS(null,"y",pos.y-offset);if(nextSibling){parent.insertBefore(node,nextSibling);}else if(parent){parent.appendChild(node);}}else{node.setAttributeNS(null,"r",style.pointRadius);} |
2156 | 2166 | var rotation=style.rotation;if((rotation!==undefined||node._rotation!==undefined)&&pos){node._rotation=rotation;rotation|=0;if(node.nodeName!=="svg"){node.setAttributeNS(null,"transform","rotate("+rotation+" "+pos.x+" "+ |
2157 | 2167 | pos.y+")");}else{var metrics=this.symbolMetrics[src.id];node.firstChild.setAttributeNS(null,"transform","rotate(" |
... | ... | @@ -2168,21 +2178,35 @@ d+=" z";if(draw){node.setAttributeNS(null,"d",d);node.setAttributeNS(null,"fill- |
2168 | 2178 | d="M "+component;}else if((i%3)==1){var component=this.getShortString(geometry.components[i]);if(!component){draw=false;} |
2169 | 2179 | d+=" C "+component;}else{var component=this.getShortString(geometry.components[i]);if(!component){draw=false;} |
2170 | 2180 | d+=" "+component;}} |
2171 | -d+=" Z";if(draw){node.setAttributeNS(null,"d",d);return node;}else{return false;}},drawText:function(featureId,style,location){var resolution=this.getResolution();var x=(location.x/resolution+this.left);var y=(location.y/resolution-this.top);var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"text");label.setAttributeNS(null,"x",x);label.setAttributeNS(null,"y",-y);if(style.fontColor){label.setAttributeNS(null,"fill",style.fontColor);} | |
2181 | +d+=" Z";if(draw){node.setAttributeNS(null,"d",d);return node;}else{return false;}}, | |
2182 | +drawText:function(featureId,style,location){var resolution=this.getResolution();var x=(location.x/resolution+this.left);var y=(location.y/resolution-this.top); | |
2183 | +var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"text"); | |
2184 | +label.setAttributeNS(null,"x",x); | |
2185 | +label.setAttributeNS(null,"y",-y); | |
2186 | +if(style.fontColor){label.setAttributeNS(null,"fill",style.fontColor);} | |
2172 | 2187 | if(style.fontOpacity){label.setAttributeNS(null,"opacity",style.fontOpacity);} |
2173 | 2188 | if(style.fontFamily){label.setAttributeNS(null,"font-family",style.fontFamily);} |
2174 | 2189 | if(style.fontSize){label.setAttributeNS(null,"font-size",style.fontSize);} |
2175 | 2190 | if(style.fontWeight){label.setAttributeNS(null,"font-weight",style.fontWeight);} |
2176 | 2191 | if(style.fontStyle){label.setAttributeNS(null,"font-style",style.fontStyle);} |
2177 | -if(style.labelSelect===true){label.setAttributeNS(null,"pointer-events","visible");label._featureId=featureId;}else{label.setAttributeNS(null,"pointer-events","none");} | |
2192 | +if(style.labelSelect===true){label.setAttributeNS(null,"pointer-events","visible"); | |
2193 | +label._featureId=featureId;}else{label.setAttributeNS(null,"pointer-events","none");} | |
2178 | 2194 | var align=style.labelAlign||"cm";label.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[0]]||"middle");if(OpenLayers.IS_GECKO===true){label.setAttributeNS(null,"dominant-baseline",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[1]]||"central");} |
2179 | 2195 | var labelRows=style.label.split('\n');var numRows=labelRows.length;while(label.childNodes.length>numRows){label.removeChild(label.lastChild);} |
2180 | -for(var i=0;i<numRows;i++){var tspan=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_tspan_"+i,"tspan");if(style.labelSelect===true){tspan._featureId=featureId;tspan._geometry=location;tspan._geometryClass=location.CLASS_NAME;} | |
2181 | -if(OpenLayers.IS_GECKO===false){tspan.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[align[1]]||"-35%");} | |
2196 | +for(var i=0;i<numRows;i++){ | |
2197 | +var tspan=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_tspan_"+i,"tspan"); | |
2198 | +if(style.labelSelect===true){tspan._featureId=featureId; | |
2199 | +tspan._geometry=location;tspan._geometryClass=location.CLASS_NAME;} | |
2200 | +if(OpenLayers.IS_GECKO===false){ | |
2201 | +tspan.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[align[1]]||"-35%");} | |
2182 | 2202 | tspan.setAttribute("x",x);if(i==0){var vfactor=OpenLayers.Renderer.SVG.LABEL_VFACTOR[align[1]];if(vfactor==null){vfactor=-.5;} |
2183 | 2203 | tspan.setAttribute("dy",(vfactor*(numRows-1))+"em");}else{tspan.setAttribute("dy","1em");} |
2184 | -tspan.textContent=(labelRows[i]==='')?' ':labelRows[i];if(!tspan.parentNode){label.appendChild(tspan);}} | |
2185 | -if(!label.parentNode){this.textRoot.appendChild(label);}},getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i<len;i++){component=components[i];renderCmp.push(component);str=this.getShortString(component);if(str){strings.push(str);}else{if(i>0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} | |
2204 | +tspan.textContent=(labelRows[i]==='')?' ':labelRows[i]; | |
2205 | +if(tspan.textContent == undefined || tspan.textContent == 'undefined') | |
2206 | +{tspan.textContent = "";} | |
2207 | +if(!tspan.parentNode){label.appendChild(tspan);}} | |
2208 | +if(!label.parentNode){this.textRoot.appendChild(label);}}, | |
2209 | +getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i<len;i++){component=components[i];renderCmp.push(component);str=this.getShortString(component);if(str){strings.push(str);}else{if(i>0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} | |
2186 | 2210 | if(i<len-1){if(this.getShortString(components[i+1])){strings.push(this.clipLine(components[i],components[i+1]));}} |
2187 | 2211 | complete=false;}} |
2188 | 2212 | return{path:strings.join(separator||","),complete:complete};},clipLine:function(badComponent,goodComponent){if(goodComponent.equals(badComponent)){return"";} |
... | ... | @@ -2733,6 +2757,7 @@ else{ |
2733 | 2757 | var symbol=OpenLayers.Renderer.symbol[graphicName]; |
2734 | 2758 | if(!symbol){throw new Error(graphicName+' is not a valid symbol name');return;} |
2735 | 2759 | } |
2760 | +//alert("oi"); | |
2736 | 2761 | var symbolExtent=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);var pathitems=["m"];for(var i=0;i<symbol.length;i=i+2){var x=symbol[i];var y=symbol[i+1];symbolExtent.left=Math.min(symbolExtent.left,x);symbolExtent.bottom=Math.min(symbolExtent.bottom,y);symbolExtent.right=Math.max(symbolExtent.right,x);symbolExtent.top=Math.max(symbolExtent.top,y);pathitems.push(x);pathitems.push(y);if(i==0){pathitems.push("l");}} |
2737 | 2762 | pathitems.push("x e");var path=pathitems.join(" ");var diff=(symbolExtent.getWidth()-symbolExtent.getHeight())/2;if(diff>0){symbolExtent.bottom=symbolExtent.bottom-diff;symbolExtent.top=symbolExtent.top+diff;}else{symbolExtent.left=symbolExtent.left+diff;symbolExtent.right=symbolExtent.right-diff;} |
2738 | 2763 | cache={path:path,size:symbolExtent.getWidth(),left:symbolExtent.left,bottom:symbolExtent.bottom};this.symbolCache[id]=cache;return cache;},CLASS_NAME:"OpenLayers.Renderer.VML"});OpenLayers.Renderer.VML.LABEL_SHIFT={"l":0,"c":.5,"r":1,"t":0,"m":.5,"b":1};OpenLayers.Layer.MultiMap=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:1,MAX_ZOOM_LEVEL:17,RESOLUTIONS:[9,1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125],type:null,initialize:function(name,options){OpenLayers.Layer.EventPane.prototype.initialize.apply(this,arguments);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,arguments);if(this.sphericalMercator){OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator);this.initMercatorParameters();this.RESOLUTIONS.unshift(10);}},loadMapObject:function(){try{this.mapObject=new MultimapViewer(this.div);}catch(e){}},getWarningHTML:function(){return OpenLayers.i18n("getLayerWarning",{'layerType':"MM",'layerLib':"MultiMap"});},setMapObjectCenter:function(center,zoom){this.mapObject.goToPosition(center,zoom);},getMapObjectCenter:function(){return this.mapObject.getCurrentPosition();},getMapObjectZoom:function(){return this.mapObject.getZoomFactor();},getMapObjectLonLatFromMapObjectPixel:function(moPixel){moPixel.x=moPixel.x-(this.map.getSize().w/2);moPixel.y=moPixel.y-(this.map.getSize().h/2);return this.mapObject.getMapPositionAt(moPixel);},getMapObjectPixelFromMapObjectLonLat:function(moLonLat){return this.mapObject.geoPosToContainerPixels(moLonLat);},getLongitudeFromMapObjectLonLat:function(moLonLat){return this.sphericalMercator?this.forwardMercator(moLonLat.lon,moLonLat.lat).lon:moLonLat.lon;},getLatitudeFromMapObjectLonLat:function(moLonLat){return this.sphericalMercator?this.forwardMercator(moLonLat.lon,moLonLat.lat).lat:moLonLat.lat;},getMapObjectLonLatFromLonLat:function(lon,lat){var mmLatLon;if(this.sphericalMercator){var lonlat=this.inverseMercator(lon,lat);mmLatLon=new MMLatLon(lonlat.lat,lonlat.lon);}else{mmLatLon=new MMLatLon(lat,lon);} |
... | ... | @@ -3615,7 +3640,7 @@ new OpenLayers.Rule({symbolizer: sketchSymbolizers}) |
3615 | 3640 | ]); |
3616 | 3641 | i3GEOpanelEditor = new OpenLayers.Control.Panel({ |
3617 | 3642 | displayClass: "olControlEditingToolbar1 noprint", |
3618 | -saveState: true, | |
3643 | +saveState: false, | |
3619 | 3644 | activateControl: function(c){ |
3620 | 3645 | this.deactivate(); |
3621 | 3646 | this.activate(); |
... | ... | @@ -3625,33 +3650,42 @@ i3GEO.editorOL.ModifyFeature.deactivate(); |
3625 | 3650 | catch(e){} |
3626 | 3651 | if(!c.trigger) |
3627 | 3652 | {c.activate();} |
3628 | -else{ | |
3629 | -c.trigger.call(); | |
3630 | -} | |
3653 | +else | |
3654 | +{c.trigger.call();} | |
3631 | 3655 | } |
3632 | 3656 | }); |
3633 | 3657 | if(botoes.procura===true){ |
3634 | 3658 | button = new OpenLayers.Control.Button({ |
3635 | 3659 | displayClass: "editorOLprocura", |
3636 | 3660 | trigger: function(){YAHOO.procura.container.panel.show();}, |
3637 | -title: "procura" | |
3661 | +title: "procura", | |
3662 | +type: OpenLayers.Control.TYPE_BUTTON | |
3638 | 3663 | }); |
3639 | 3664 | controles.push(button); |
3640 | 3665 | adiciona = true; |
3641 | 3666 | } |
3642 | 3667 | if(botoes.pan===true){ |
3643 | -controles.push(new OpenLayers.Control.Navigation({title: "deslocar",displayClass:"editorOLpan"})); | |
3668 | +controles.push(new OpenLayers.Control.Navigation({ | |
3669 | +title: "deslocar", | |
3670 | +displayClass:"editorOLpan", | |
3671 | +type: OpenLayers.Control.TYPE_TOOL | |
3672 | +})); | |
3644 | 3673 | adiciona = true; |
3645 | 3674 | } |
3646 | 3675 | if(botoes.zoombox===true){ |
3647 | -controles.push(new OpenLayers.Control.ZoomBox({title: "zoombox",displayClass: "editorOLzoombox"})); | |
3676 | +controles.push(new OpenLayers.Control.ZoomBox({ | |
3677 | +title: "zoombox", | |
3678 | +displayClass: "editorOLzoombox", | |
3679 | +type: OpenLayers.Control.TYPE_TOOL | |
3680 | +})); | |
3648 | 3681 | adiciona = true; |
3649 | 3682 | } |
3650 | 3683 | if(botoes.zoomtot===true){ |
3651 | 3684 | button = new OpenLayers.Control.Button({ |
3652 | 3685 | displayClass: "editorOLzoomtot", |
3653 | 3686 | trigger: function(){i3GEO.editorOL.mapa.zoomToMaxExtent();}, |
3654 | -title: "ajusta extensão" | |
3687 | +title: "ajusta extensão", | |
3688 | +type: OpenLayers.Control.TYPE_BUTTON | |
3655 | 3689 | }); |
3656 | 3690 | controles.push(button); |
3657 | 3691 | adiciona = true; |
... | ... | @@ -3660,7 +3694,8 @@ if(botoes.legenda===true){ |
3660 | 3694 | button = new OpenLayers.Control.Button({ |
3661 | 3695 | displayClass: "editorOLlegenda", |
3662 | 3696 | trigger: function(){i3GEO.editorOL.mostraLegenda();}, |
3663 | -title: "legenda" | |
3697 | +title: "legenda", | |
3698 | +type: OpenLayers.Control.TYPE_BUTTON | |
3664 | 3699 | }); |
3665 | 3700 | controles.push(button); |
3666 | 3701 | adiciona = true; |
... | ... | @@ -3672,7 +3707,8 @@ OpenLayers.Handler.Path, |
3672 | 3707 | handlerOptions: {layerOptions: {styleMap: styleMap}}, |
3673 | 3708 | persist: true, |
3674 | 3709 | displayClass: "editorOLdistancia", |
3675 | -title: "distância" | |
3710 | +title: "distância", | |
3711 | +type: OpenLayers.Control.TYPE_TOOL | |
3676 | 3712 | } |
3677 | 3713 | ); |
3678 | 3714 | button.events.on({ |
... | ... | @@ -3692,7 +3728,8 @@ OpenLayers.Handler.Polygon, |
3692 | 3728 | handlerOptions: {layerOptions: {styleMap: styleMap}}, |
3693 | 3729 | persist: true, |
3694 | 3730 | displayClass: "editorOLarea", |
3695 | -title: "área" | |
3731 | +title: "área", | |
3732 | +type: OpenLayers.Control.TYPE_TOOL | |
3696 | 3733 | } |
3697 | 3734 | ); |
3698 | 3735 | button.events.on({ |
... | ... | @@ -3712,6 +3749,7 @@ infoFormat:'text/plain', //'application/vnd.ogc.gml', |
3712 | 3749 | layers: [i3GEO.editorOL.layerAtivo()], |
3713 | 3750 | queryVisible: true, |
3714 | 3751 | title: "identifica", |
3752 | +type: OpenLayers.Control.TYPE_TOOL, | |
3715 | 3753 | displayClass: "editorOLidentifica", |
3716 | 3754 | eventListeners: { |
3717 | 3755 | getfeatureinfo: function(event) { |
... | ... | @@ -3760,6 +3798,7 @@ OpenLayers.Handler.Path, |
3760 | 3798 | { |
3761 | 3799 | displayClass: "editorOLlinha", |
3762 | 3800 | title: "digitalizar linha", |
3801 | +type: OpenLayers.Control.TYPE_TOOL, | |
3763 | 3802 | callbacks:{ |
3764 | 3803 | done: function(feature){ |
3765 | 3804 | var f = new OpenLayers.Feature.Vector(feature); |
... | ... | @@ -3789,6 +3828,7 @@ OpenLayers.Handler.Point, |
3789 | 3828 | { |
3790 | 3829 | displayClass: "editorOLponto", |
3791 | 3830 | title: "digitalizar ponto", |
3831 | +type: OpenLayers.Control.TYPE_TOOL, | |
3792 | 3832 | callbacks:{ |
3793 | 3833 | done: function(feature){ |
3794 | 3834 | var f = new OpenLayers.Feature.Vector(feature); |
... | ... | @@ -3818,6 +3858,7 @@ OpenLayers.Handler.Polygon, |
3818 | 3858 | { |
3819 | 3859 | displayClass: "editorOLpoligono", |
3820 | 3860 | title: "digitalizar polígono", |
3861 | +type: OpenLayers.Control.TYPE_TOOL, | |
3821 | 3862 | //handlerOptions: {holeModifier: "altKey"}, |
3822 | 3863 | callbacks:{ |
3823 | 3864 | done: function(feature){ |
... | ... | @@ -3848,6 +3889,7 @@ OpenLayers.Handler.Point, |
3848 | 3889 | { |
3849 | 3890 | displayClass: "editorOLtexto", |
3850 | 3891 | title: "incluir texto", |
3892 | +type: OpenLayers.Control.TYPE_TOOL, | |
3851 | 3893 | persist: true, |
3852 | 3894 | callbacks:{ |
3853 | 3895 | done: function(feature){ |
... | ... | @@ -3883,6 +3925,7 @@ OpenLayers.Handler.Polygon, |
3883 | 3925 | { |
3884 | 3926 | displayClass: "editorOLcorta", |
3885 | 3927 | title: "corta figura", |
3928 | +type: OpenLayers.Control.TYPE_TOOL, | |
3886 | 3929 | clickout: true, |
3887 | 3930 | toggle: true, |
3888 | 3931 | trigger: function(){ |
... | ... | @@ -3919,6 +3962,7 @@ i3GEO.editorOL.layergrafico, |
3919 | 3962 | { |
3920 | 3963 | displayClass: "editorOLedita", |
3921 | 3964 | title: "modifica figura", |
3965 | +type: OpenLayers.Control.TYPE_TOOL, | |
3922 | 3966 | clickout: true, |
3923 | 3967 | toggle: true, |
3924 | 3968 | mode: OpenLayers.Control.ModifyFeature.RESHAPE |
... | ... | @@ -3933,7 +3977,8 @@ displayClass: "editorOLlistag", |
3933 | 3977 | trigger: function(){ |
3934 | 3978 | i3GEO.editorOL.listaGeometrias(); |
3935 | 3979 | }, |
3936 | -title: "lista geometrias" | |
3980 | +title: "lista geometrias", | |
3981 | +type: OpenLayers.Control.TYPE_BUTTON | |
3937 | 3982 | }); |
3938 | 3983 | controles.push(button); |
3939 | 3984 | adiciona = true; |
... | ... | @@ -3946,7 +3991,8 @@ i3GEO.editorOL.trazParaFrente(); |
3946 | 3991 | if(document.getElementById("panellistagEditor")) |
3947 | 3992 | {i3GEO.editorOL.listaGeometrias();} |
3948 | 3993 | }, |
3949 | -title: "traz para frente" | |
3994 | +title: "traz para frente", | |
3995 | +type: OpenLayers.Control.TYPE_BUTTON | |
3950 | 3996 | }); |
3951 | 3997 | controles.push(button); |
3952 | 3998 | adiciona = true; |
... | ... | @@ -3961,7 +4007,8 @@ if(i3GEO.php) |
3961 | 4007 | else |
3962 | 4008 | {i3GEO.editorOL.carregajts("i3GEO.editorOL.ferramentas()");} |
3963 | 4009 | }, |
3964 | -title: "ferramentas" | |
4010 | +title: "ferramentas", | |
4011 | +type: OpenLayers.Control.TYPE_BUTTON | |
3965 | 4012 | }); |
3966 | 4013 | controles.push(button); |
3967 | 4014 | adiciona = true; |
... | ... | @@ -3973,6 +4020,7 @@ i3GEO.editorOL.layergrafico, |
3973 | 4020 | { |
3974 | 4021 | displayClass: "editorOLselecao", |
3975 | 4022 | title: "seleciona elemento", |
4023 | +type: OpenLayers.Control.TYPE_TOOL, | |
3976 | 4024 | clickout: true, |
3977 | 4025 | toggle: true, |
3978 | 4026 | multiple: false, |
... | ... | @@ -4001,7 +4049,8 @@ if(document.getElementById("panellistagEditor")) |
4001 | 4049 | else |
4002 | 4050 | {alert("Selecione pelo menos um elemento");} |
4003 | 4051 | }, |
4004 | -title: "apaga selecionados" | |
4052 | +title: "apaga selecionados", | |
4053 | +type: OpenLayers.Control.TYPE_BUTTON | |
4005 | 4054 | }); |
4006 | 4055 | controles.push(button); |
4007 | 4056 | adiciona = true; |
... | ... | @@ -4022,7 +4071,8 @@ if(botoes.propriedades===true){ |
4022 | 4071 | button = new OpenLayers.Control.Button({ |
4023 | 4072 | displayClass: "editorOLpropriedades", |
4024 | 4073 | trigger: function(){i3GEO.editorOL.propriedades();}, |
4025 | -title: "propriedades" | |
4074 | +title: "propriedades", | |
4075 | +type: OpenLayers.Control.TYPE_BUTTON | |
4026 | 4076 | }); |
4027 | 4077 | controles.push(button); |
4028 | 4078 | adiciona = true; |
... | ... | @@ -4031,7 +4081,8 @@ if(botoes.salva===true){ |
4031 | 4081 | button = new OpenLayers.Control.Button({ |
4032 | 4082 | displayClass: "editorOLsalva", |
4033 | 4083 | trigger: function(){i3GEO.editorOL.salvaGeometrias();}, |
4034 | -title: "salva" | |
4084 | +title: "salva", | |
4085 | +type: OpenLayers.Control.TYPE_BUTTON | |
4035 | 4086 | }); |
4036 | 4087 | controles.push(button); |
4037 | 4088 | adiciona = true; |
... | ... | @@ -4045,7 +4096,8 @@ try |
4045 | 4096 | catch(e) |
4046 | 4097 | {window.open("openlayers_ajuda.php");} |
4047 | 4098 | }, |
4048 | -title: "ajuda" | |
4099 | +title: "ajuda", | |
4100 | +type: OpenLayers.Control.TYPE_BUTTON | |
4049 | 4101 | }); |
4050 | 4102 | controles.push(button); |
4051 | 4103 | adiciona = true; |
... | ... | @@ -4077,7 +4129,8 @@ if(i3GEO.editorOL.backup) |
4077 | 4129 | catch(e){} |
4078 | 4130 | } |
4079 | 4131 | }, |
4080 | -title: "fecha editor" | |
4132 | +title: "fecha editor", | |
4133 | +type: OpenLayers.Control.TYPE_BUTTON | |
4081 | 4134 | }); |
4082 | 4135 | controles.push(button); |
4083 | 4136 | adiciona = true; | ... | ... |
mashups/openlayers_compacto.js.php
... | ... | @@ -1332,6 +1332,7 @@ var width=style.graphicWidth||style.graphicHeight; |
1332 | 1332 | var height=style.graphicHeight||style.graphicWidth; |
1333 | 1333 | width=width?width:style.pointRadius*2; |
1334 | 1334 | height=height?height:style.pointRadius*2; |
1335 | +//alert("oi"); | |
1335 | 1336 | var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width); |
1336 | 1337 | var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height); |
1337 | 1338 | var opacity=style.graphicOpacity||style.fillOpacity; |
... | ... | @@ -1969,6 +1970,7 @@ var height=style.graphicHeight||style.graphicWidth; |
1969 | 1970 | width=width?width:style.pointRadius*2; |
1970 | 1971 | height=height?height:style.pointRadius*2; |
1971 | 1972 | width*=resolution;height*=resolution; |
1973 | +//alert(width); | |
1972 | 1974 | var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset*resolution:-(0.5*width); |
1973 | 1975 | var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset*resolution:-(0.5*height); |
1974 | 1976 | var opacity=style.graphicOpacity||style.fillOpacity; |
... | ... | @@ -1983,6 +1985,7 @@ else if(this.isComplexSymbol(style.graphicName)){ |
1983 | 1985 | //modificado por edmar |
1984 | 1986 | style.label = " "; |
1985 | 1987 | style.pointRadius = 5; |
1988 | +//alert("oi"); | |
1986 | 1989 | var offset=style.pointRadius*3*resolution;var size=offset*2;var src=this.importSymbol(style.graphicName);widthFactor=this.symbolMetrics[src.id].size*3/size*resolution;var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} |
1987 | 1990 | node.firstChild&&node.removeChild(node.firstChild);node.appendChild(src.firstChild.cloneNode(true));node.setAttributeNS(null,"viewBox",src.getAttributeNS(null,"viewBox"));node.setAttributeNS(null,"width",size);node.setAttributeNS(null,"height",size);node.setAttributeNS(null,"x",node._x-offset);node.setAttributeNS(null,"y",node._y-offset);if(nextSibling){parent.insertBefore(node,nextSibling);}else if(parent){parent.appendChild(node);}}else{node.setAttributeNS(null,"r",style.pointRadius*resolution);} |
1988 | 1991 | var rotation=style.rotation;if(rotation!==undefined||node._rotation!==undefined){node._rotation=rotation;rotation|=0;if(node.nodeName!=="svg"){node.setAttributeNS(null,"transform",["rotate(",rotation,node._x,node._y,")"].join(" "));}else{var metrics=this.symbolMetrics[src.id];node.firstChild.setAttributeNS(null,"transform",["rotate(",rotation,metrics.x,metrics.y,")"].join(" "));}}} |
... | ... | @@ -2151,7 +2154,14 @@ this.root.setAttributeNS(null,"transform",transformString);this.translationParam |
2151 | 2154 | break;case"OpenLayers.Geometry.Rectangle":nodeType="rect";break;case"OpenLayers.Geometry.LineString":nodeType="polyline";break;case"OpenLayers.Geometry.LinearRing":nodeType="polygon";break;case"OpenLayers.Geometry.Polygon":case"OpenLayers.Geometry.Curve":case"OpenLayers.Geometry.Surface":nodeType="path";break;default:break;} |
2152 | 2155 | return nodeType;},setStyle:function(node,style,options){style=style||node._style;options=options||node._options;var r=parseFloat(node.getAttributeNS(null,"r"));var widthFactor=1;var pos;if(node._geometryClass=="OpenLayers.Geometry.Point"&&r){node.style.visibility="";if(style.graphic===false){node.style.visibility="hidden";}else if(style.externalGraphic){pos=this.getPosition(node);if(style.graphicTitle){node.setAttributeNS(null,"title",style.graphicTitle);var label=this.nodeFactory(null,"title");label.textContent=style.graphicTitle;node.appendChild(label);} |
2153 | 2156 | if(style.graphicWidth&&style.graphicHeight){node.setAttributeNS(null,"preserveAspectRatio","none");} |
2154 | -var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;node.setAttributeNS(null,"x",(pos.x+xOffset).toFixed());node.setAttributeNS(null,"y",(pos.y+yOffset).toFixed());node.setAttributeNS(null,"width",width);node.setAttributeNS(null,"height",height);node.setAttributeNS(this.xlinkns,"href",style.externalGraphic);node.setAttributeNS(null,"style","opacity: "+opacity);node.onclick=OpenLayers.Renderer.SVG.preventDefault;}else if(this.isComplexSymbol(style.graphicName)){var offset=style.pointRadius*3;var size=offset*2;var src=this.importSymbol(style.graphicName);pos=this.getPosition(node);widthFactor=this.symbolMetrics[src.id][0]*3/size;var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} | |
2157 | +var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;node.setAttributeNS(null,"x",(pos.x+xOffset).toFixed());node.setAttributeNS(null,"y",(pos.y+yOffset).toFixed());node.setAttributeNS(null,"width",width);node.setAttributeNS(null,"height",height);node.setAttributeNS(this.xlinkns,"href",style.externalGraphic);node.setAttributeNS(null,"style","opacity: "+opacity);node.onclick=OpenLayers.Renderer.SVG.preventDefault;}else if(this.isComplexSymbol(style.graphicName)){ | |
2158 | +//modificado por edmar | |
2159 | +style.label = " "; | |
2160 | +style.pointRadius = 5; | |
2161 | +var offset=style.pointRadius*3;var size=offset*2; | |
2162 | +var src=this.importSymbol(style.graphicName);pos=this.getPosition(node); | |
2163 | +widthFactor=this.symbolMetrics[src.id][0]*3/size; | |
2164 | +var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} | |
2155 | 2165 | node.firstChild&&node.removeChild(node.firstChild);node.appendChild(src.firstChild.cloneNode(true));node.setAttributeNS(null,"viewBox",src.getAttributeNS(null,"viewBox"));node.setAttributeNS(null,"width",size);node.setAttributeNS(null,"height",size);node.setAttributeNS(null,"x",pos.x-offset);node.setAttributeNS(null,"y",pos.y-offset);if(nextSibling){parent.insertBefore(node,nextSibling);}else if(parent){parent.appendChild(node);}}else{node.setAttributeNS(null,"r",style.pointRadius);} |
2156 | 2166 | var rotation=style.rotation;if((rotation!==undefined||node._rotation!==undefined)&&pos){node._rotation=rotation;rotation|=0;if(node.nodeName!=="svg"){node.setAttributeNS(null,"transform","rotate("+rotation+" "+pos.x+" "+ |
2157 | 2167 | pos.y+")");}else{var metrics=this.symbolMetrics[src.id];node.firstChild.setAttributeNS(null,"transform","rotate(" |
... | ... | @@ -2168,21 +2178,35 @@ d+=" z";if(draw){node.setAttributeNS(null,"d",d);node.setAttributeNS(null,"fill- |
2168 | 2178 | d="M "+component;}else if((i%3)==1){var component=this.getShortString(geometry.components[i]);if(!component){draw=false;} |
2169 | 2179 | d+=" C "+component;}else{var component=this.getShortString(geometry.components[i]);if(!component){draw=false;} |
2170 | 2180 | d+=" "+component;}} |
2171 | -d+=" Z";if(draw){node.setAttributeNS(null,"d",d);return node;}else{return false;}},drawText:function(featureId,style,location){var resolution=this.getResolution();var x=(location.x/resolution+this.left);var y=(location.y/resolution-this.top);var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"text");label.setAttributeNS(null,"x",x);label.setAttributeNS(null,"y",-y);if(style.fontColor){label.setAttributeNS(null,"fill",style.fontColor);} | |
2181 | +d+=" Z";if(draw){node.setAttributeNS(null,"d",d);return node;}else{return false;}}, | |
2182 | +drawText:function(featureId,style,location){var resolution=this.getResolution();var x=(location.x/resolution+this.left);var y=(location.y/resolution-this.top); | |
2183 | +var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"text"); | |
2184 | +label.setAttributeNS(null,"x",x); | |
2185 | +label.setAttributeNS(null,"y",-y); | |
2186 | +if(style.fontColor){label.setAttributeNS(null,"fill",style.fontColor);} | |
2172 | 2187 | if(style.fontOpacity){label.setAttributeNS(null,"opacity",style.fontOpacity);} |
2173 | 2188 | if(style.fontFamily){label.setAttributeNS(null,"font-family",style.fontFamily);} |
2174 | 2189 | if(style.fontSize){label.setAttributeNS(null,"font-size",style.fontSize);} |
2175 | 2190 | if(style.fontWeight){label.setAttributeNS(null,"font-weight",style.fontWeight);} |
2176 | 2191 | if(style.fontStyle){label.setAttributeNS(null,"font-style",style.fontStyle);} |
2177 | -if(style.labelSelect===true){label.setAttributeNS(null,"pointer-events","visible");label._featureId=featureId;}else{label.setAttributeNS(null,"pointer-events","none");} | |
2192 | +if(style.labelSelect===true){label.setAttributeNS(null,"pointer-events","visible"); | |
2193 | +label._featureId=featureId;}else{label.setAttributeNS(null,"pointer-events","none");} | |
2178 | 2194 | var align=style.labelAlign||"cm";label.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[0]]||"middle");if(OpenLayers.IS_GECKO===true){label.setAttributeNS(null,"dominant-baseline",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[1]]||"central");} |
2179 | 2195 | var labelRows=style.label.split('\n');var numRows=labelRows.length;while(label.childNodes.length>numRows){label.removeChild(label.lastChild);} |
2180 | -for(var i=0;i<numRows;i++){var tspan=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_tspan_"+i,"tspan");if(style.labelSelect===true){tspan._featureId=featureId;tspan._geometry=location;tspan._geometryClass=location.CLASS_NAME;} | |
2181 | -if(OpenLayers.IS_GECKO===false){tspan.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[align[1]]||"-35%");} | |
2196 | +for(var i=0;i<numRows;i++){ | |
2197 | +var tspan=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_tspan_"+i,"tspan"); | |
2198 | +if(style.labelSelect===true){tspan._featureId=featureId; | |
2199 | +tspan._geometry=location;tspan._geometryClass=location.CLASS_NAME;} | |
2200 | +if(OpenLayers.IS_GECKO===false){ | |
2201 | +tspan.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[align[1]]||"-35%");} | |
2182 | 2202 | tspan.setAttribute("x",x);if(i==0){var vfactor=OpenLayers.Renderer.SVG.LABEL_VFACTOR[align[1]];if(vfactor==null){vfactor=-.5;} |
2183 | 2203 | tspan.setAttribute("dy",(vfactor*(numRows-1))+"em");}else{tspan.setAttribute("dy","1em");} |
2184 | -tspan.textContent=(labelRows[i]==='')?' ':labelRows[i];if(!tspan.parentNode){label.appendChild(tspan);}} | |
2185 | -if(!label.parentNode){this.textRoot.appendChild(label);}},getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i<len;i++){component=components[i];renderCmp.push(component);str=this.getShortString(component);if(str){strings.push(str);}else{if(i>0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} | |
2204 | +tspan.textContent=(labelRows[i]==='')?' ':labelRows[i]; | |
2205 | +if(tspan.textContent == undefined || tspan.textContent == 'undefined') | |
2206 | +{tspan.textContent = "";} | |
2207 | +if(!tspan.parentNode){label.appendChild(tspan);}} | |
2208 | +if(!label.parentNode){this.textRoot.appendChild(label);}}, | |
2209 | +getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i<len;i++){component=components[i];renderCmp.push(component);str=this.getShortString(component);if(str){strings.push(str);}else{if(i>0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} | |
2186 | 2210 | if(i<len-1){if(this.getShortString(components[i+1])){strings.push(this.clipLine(components[i],components[i+1]));}} |
2187 | 2211 | complete=false;}} |
2188 | 2212 | return{path:strings.join(separator||","),complete:complete};},clipLine:function(badComponent,goodComponent){if(goodComponent.equals(badComponent)){return"";} |
... | ... | @@ -2733,6 +2757,7 @@ else{ |
2733 | 2757 | var symbol=OpenLayers.Renderer.symbol[graphicName]; |
2734 | 2758 | if(!symbol){throw new Error(graphicName+' is not a valid symbol name');return;} |
2735 | 2759 | } |
2760 | +//alert("oi"); | |
2736 | 2761 | var symbolExtent=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);var pathitems=["m"];for(var i=0;i<symbol.length;i=i+2){var x=symbol[i];var y=symbol[i+1];symbolExtent.left=Math.min(symbolExtent.left,x);symbolExtent.bottom=Math.min(symbolExtent.bottom,y);symbolExtent.right=Math.max(symbolExtent.right,x);symbolExtent.top=Math.max(symbolExtent.top,y);pathitems.push(x);pathitems.push(y);if(i==0){pathitems.push("l");}} |
2737 | 2762 | pathitems.push("x e");var path=pathitems.join(" ");var diff=(symbolExtent.getWidth()-symbolExtent.getHeight())/2;if(diff>0){symbolExtent.bottom=symbolExtent.bottom-diff;symbolExtent.top=symbolExtent.top+diff;}else{symbolExtent.left=symbolExtent.left+diff;symbolExtent.right=symbolExtent.right-diff;} |
2738 | 2763 | cache={path:path,size:symbolExtent.getWidth(),left:symbolExtent.left,bottom:symbolExtent.bottom};this.symbolCache[id]=cache;return cache;},CLASS_NAME:"OpenLayers.Renderer.VML"});OpenLayers.Renderer.VML.LABEL_SHIFT={"l":0,"c":.5,"r":1,"t":0,"m":.5,"b":1};OpenLayers.Layer.MultiMap=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:1,MAX_ZOOM_LEVEL:17,RESOLUTIONS:[9,1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125],type:null,initialize:function(name,options){OpenLayers.Layer.EventPane.prototype.initialize.apply(this,arguments);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,arguments);if(this.sphericalMercator){OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator);this.initMercatorParameters();this.RESOLUTIONS.unshift(10);}},loadMapObject:function(){try{this.mapObject=new MultimapViewer(this.div);}catch(e){}},getWarningHTML:function(){return OpenLayers.i18n("getLayerWarning",{'layerType':"MM",'layerLib':"MultiMap"});},setMapObjectCenter:function(center,zoom){this.mapObject.goToPosition(center,zoom);},getMapObjectCenter:function(){return this.mapObject.getCurrentPosition();},getMapObjectZoom:function(){return this.mapObject.getZoomFactor();},getMapObjectLonLatFromMapObjectPixel:function(moPixel){moPixel.x=moPixel.x-(this.map.getSize().w/2);moPixel.y=moPixel.y-(this.map.getSize().h/2);return this.mapObject.getMapPositionAt(moPixel);},getMapObjectPixelFromMapObjectLonLat:function(moLonLat){return this.mapObject.geoPosToContainerPixels(moLonLat);},getLongitudeFromMapObjectLonLat:function(moLonLat){return this.sphericalMercator?this.forwardMercator(moLonLat.lon,moLonLat.lat).lon:moLonLat.lon;},getLatitudeFromMapObjectLonLat:function(moLonLat){return this.sphericalMercator?this.forwardMercator(moLonLat.lon,moLonLat.lat).lat:moLonLat.lat;},getMapObjectLonLatFromLonLat:function(lon,lat){var mmLatLon;if(this.sphericalMercator){var lonlat=this.inverseMercator(lon,lat);mmLatLon=new MMLatLon(lonlat.lat,lonlat.lon);}else{mmLatLon=new MMLatLon(lat,lon);} |
... | ... | @@ -3615,7 +3640,7 @@ new OpenLayers.Rule({symbolizer: sketchSymbolizers}) |
3615 | 3640 | ]); |
3616 | 3641 | i3GEOpanelEditor = new OpenLayers.Control.Panel({ |
3617 | 3642 | displayClass: "olControlEditingToolbar1 noprint", |
3618 | -saveState: true, | |
3643 | +saveState: false, | |
3619 | 3644 | activateControl: function(c){ |
3620 | 3645 | this.deactivate(); |
3621 | 3646 | this.activate(); |
... | ... | @@ -3625,33 +3650,42 @@ i3GEO.editorOL.ModifyFeature.deactivate(); |
3625 | 3650 | catch(e){} |
3626 | 3651 | if(!c.trigger) |
3627 | 3652 | {c.activate();} |
3628 | -else{ | |
3629 | -c.trigger.call(); | |
3630 | -} | |
3653 | +else | |
3654 | +{c.trigger.call();} | |
3631 | 3655 | } |
3632 | 3656 | }); |
3633 | 3657 | if(botoes.procura===true){ |
3634 | 3658 | button = new OpenLayers.Control.Button({ |
3635 | 3659 | displayClass: "editorOLprocura", |
3636 | 3660 | trigger: function(){YAHOO.procura.container.panel.show();}, |
3637 | -title: "procura" | |
3661 | +title: "procura", | |
3662 | +type: OpenLayers.Control.TYPE_BUTTON | |
3638 | 3663 | }); |
3639 | 3664 | controles.push(button); |
3640 | 3665 | adiciona = true; |
3641 | 3666 | } |
3642 | 3667 | if(botoes.pan===true){ |
3643 | -controles.push(new OpenLayers.Control.Navigation({title: "deslocar",displayClass:"editorOLpan"})); | |
3668 | +controles.push(new OpenLayers.Control.Navigation({ | |
3669 | +title: "deslocar", | |
3670 | +displayClass:"editorOLpan", | |
3671 | +type: OpenLayers.Control.TYPE_TOOL | |
3672 | +})); | |
3644 | 3673 | adiciona = true; |
3645 | 3674 | } |
3646 | 3675 | if(botoes.zoombox===true){ |
3647 | -controles.push(new OpenLayers.Control.ZoomBox({title: "zoombox",displayClass: "editorOLzoombox"})); | |
3676 | +controles.push(new OpenLayers.Control.ZoomBox({ | |
3677 | +title: "zoombox", | |
3678 | +displayClass: "editorOLzoombox", | |
3679 | +type: OpenLayers.Control.TYPE_TOOL | |
3680 | +})); | |
3648 | 3681 | adiciona = true; |
3649 | 3682 | } |
3650 | 3683 | if(botoes.zoomtot===true){ |
3651 | 3684 | button = new OpenLayers.Control.Button({ |
3652 | 3685 | displayClass: "editorOLzoomtot", |
3653 | 3686 | trigger: function(){i3GEO.editorOL.mapa.zoomToMaxExtent();}, |
3654 | -title: "ajusta extensão" | |
3687 | +title: "ajusta extensão", | |
3688 | +type: OpenLayers.Control.TYPE_BUTTON | |
3655 | 3689 | }); |
3656 | 3690 | controles.push(button); |
3657 | 3691 | adiciona = true; |
... | ... | @@ -3660,7 +3694,8 @@ if(botoes.legenda===true){ |
3660 | 3694 | button = new OpenLayers.Control.Button({ |
3661 | 3695 | displayClass: "editorOLlegenda", |
3662 | 3696 | trigger: function(){i3GEO.editorOL.mostraLegenda();}, |
3663 | -title: "legenda" | |
3697 | +title: "legenda", | |
3698 | +type: OpenLayers.Control.TYPE_BUTTON | |
3664 | 3699 | }); |
3665 | 3700 | controles.push(button); |
3666 | 3701 | adiciona = true; |
... | ... | @@ -3672,7 +3707,8 @@ OpenLayers.Handler.Path, |
3672 | 3707 | handlerOptions: {layerOptions: {styleMap: styleMap}}, |
3673 | 3708 | persist: true, |
3674 | 3709 | displayClass: "editorOLdistancia", |
3675 | -title: "distância" | |
3710 | +title: "distância", | |
3711 | +type: OpenLayers.Control.TYPE_TOOL | |
3676 | 3712 | } |
3677 | 3713 | ); |
3678 | 3714 | button.events.on({ |
... | ... | @@ -3692,7 +3728,8 @@ OpenLayers.Handler.Polygon, |
3692 | 3728 | handlerOptions: {layerOptions: {styleMap: styleMap}}, |
3693 | 3729 | persist: true, |
3694 | 3730 | displayClass: "editorOLarea", |
3695 | -title: "área" | |
3731 | +title: "área", | |
3732 | +type: OpenLayers.Control.TYPE_TOOL | |
3696 | 3733 | } |
3697 | 3734 | ); |
3698 | 3735 | button.events.on({ |
... | ... | @@ -3712,6 +3749,7 @@ infoFormat:'text/plain', //'application/vnd.ogc.gml', |
3712 | 3749 | layers: [i3GEO.editorOL.layerAtivo()], |
3713 | 3750 | queryVisible: true, |
3714 | 3751 | title: "identifica", |
3752 | +type: OpenLayers.Control.TYPE_TOOL, | |
3715 | 3753 | displayClass: "editorOLidentifica", |
3716 | 3754 | eventListeners: { |
3717 | 3755 | getfeatureinfo: function(event) { |
... | ... | @@ -3760,6 +3798,7 @@ OpenLayers.Handler.Path, |
3760 | 3798 | { |
3761 | 3799 | displayClass: "editorOLlinha", |
3762 | 3800 | title: "digitalizar linha", |
3801 | +type: OpenLayers.Control.TYPE_TOOL, | |
3763 | 3802 | callbacks:{ |
3764 | 3803 | done: function(feature){ |
3765 | 3804 | var f = new OpenLayers.Feature.Vector(feature); |
... | ... | @@ -3789,6 +3828,7 @@ OpenLayers.Handler.Point, |
3789 | 3828 | { |
3790 | 3829 | displayClass: "editorOLponto", |
3791 | 3830 | title: "digitalizar ponto", |
3831 | +type: OpenLayers.Control.TYPE_TOOL, | |
3792 | 3832 | callbacks:{ |
3793 | 3833 | done: function(feature){ |
3794 | 3834 | var f = new OpenLayers.Feature.Vector(feature); |
... | ... | @@ -3818,6 +3858,7 @@ OpenLayers.Handler.Polygon, |
3818 | 3858 | { |
3819 | 3859 | displayClass: "editorOLpoligono", |
3820 | 3860 | title: "digitalizar polígono", |
3861 | +type: OpenLayers.Control.TYPE_TOOL, | |
3821 | 3862 | //handlerOptions: {holeModifier: "altKey"}, |
3822 | 3863 | callbacks:{ |
3823 | 3864 | done: function(feature){ |
... | ... | @@ -3848,6 +3889,7 @@ OpenLayers.Handler.Point, |
3848 | 3889 | { |
3849 | 3890 | displayClass: "editorOLtexto", |
3850 | 3891 | title: "incluir texto", |
3892 | +type: OpenLayers.Control.TYPE_TOOL, | |
3851 | 3893 | persist: true, |
3852 | 3894 | callbacks:{ |
3853 | 3895 | done: function(feature){ |
... | ... | @@ -3883,6 +3925,7 @@ OpenLayers.Handler.Polygon, |
3883 | 3925 | { |
3884 | 3926 | displayClass: "editorOLcorta", |
3885 | 3927 | title: "corta figura", |
3928 | +type: OpenLayers.Control.TYPE_TOOL, | |
3886 | 3929 | clickout: true, |
3887 | 3930 | toggle: true, |
3888 | 3931 | trigger: function(){ |
... | ... | @@ -3919,6 +3962,7 @@ i3GEO.editorOL.layergrafico, |
3919 | 3962 | { |
3920 | 3963 | displayClass: "editorOLedita", |
3921 | 3964 | title: "modifica figura", |
3965 | +type: OpenLayers.Control.TYPE_TOOL, | |
3922 | 3966 | clickout: true, |
3923 | 3967 | toggle: true, |
3924 | 3968 | mode: OpenLayers.Control.ModifyFeature.RESHAPE |
... | ... | @@ -3933,7 +3977,8 @@ displayClass: "editorOLlistag", |
3933 | 3977 | trigger: function(){ |
3934 | 3978 | i3GEO.editorOL.listaGeometrias(); |
3935 | 3979 | }, |
3936 | -title: "lista geometrias" | |
3980 | +title: "lista geometrias", | |
3981 | +type: OpenLayers.Control.TYPE_BUTTON | |
3937 | 3982 | }); |
3938 | 3983 | controles.push(button); |
3939 | 3984 | adiciona = true; |
... | ... | @@ -3946,7 +3991,8 @@ i3GEO.editorOL.trazParaFrente(); |
3946 | 3991 | if(document.getElementById("panellistagEditor")) |
3947 | 3992 | {i3GEO.editorOL.listaGeometrias();} |
3948 | 3993 | }, |
3949 | -title: "traz para frente" | |
3994 | +title: "traz para frente", | |
3995 | +type: OpenLayers.Control.TYPE_BUTTON | |
3950 | 3996 | }); |
3951 | 3997 | controles.push(button); |
3952 | 3998 | adiciona = true; |
... | ... | @@ -3961,7 +4007,8 @@ if(i3GEO.php) |
3961 | 4007 | else |
3962 | 4008 | {i3GEO.editorOL.carregajts("i3GEO.editorOL.ferramentas()");} |
3963 | 4009 | }, |
3964 | -title: "ferramentas" | |
4010 | +title: "ferramentas", | |
4011 | +type: OpenLayers.Control.TYPE_BUTTON | |
3965 | 4012 | }); |
3966 | 4013 | controles.push(button); |
3967 | 4014 | adiciona = true; |
... | ... | @@ -3973,6 +4020,7 @@ i3GEO.editorOL.layergrafico, |
3973 | 4020 | { |
3974 | 4021 | displayClass: "editorOLselecao", |
3975 | 4022 | title: "seleciona elemento", |
4023 | +type: OpenLayers.Control.TYPE_TOOL, | |
3976 | 4024 | clickout: true, |
3977 | 4025 | toggle: true, |
3978 | 4026 | multiple: false, |
... | ... | @@ -4001,7 +4049,8 @@ if(document.getElementById("panellistagEditor")) |
4001 | 4049 | else |
4002 | 4050 | {alert("Selecione pelo menos um elemento");} |
4003 | 4051 | }, |
4004 | -title: "apaga selecionados" | |
4052 | +title: "apaga selecionados", | |
4053 | +type: OpenLayers.Control.TYPE_BUTTON | |
4005 | 4054 | }); |
4006 | 4055 | controles.push(button); |
4007 | 4056 | adiciona = true; |
... | ... | @@ -4022,7 +4071,8 @@ if(botoes.propriedades===true){ |
4022 | 4071 | button = new OpenLayers.Control.Button({ |
4023 | 4072 | displayClass: "editorOLpropriedades", |
4024 | 4073 | trigger: function(){i3GEO.editorOL.propriedades();}, |
4025 | -title: "propriedades" | |
4074 | +title: "propriedades", | |
4075 | +type: OpenLayers.Control.TYPE_BUTTON | |
4026 | 4076 | }); |
4027 | 4077 | controles.push(button); |
4028 | 4078 | adiciona = true; |
... | ... | @@ -4031,7 +4081,8 @@ if(botoes.salva===true){ |
4031 | 4081 | button = new OpenLayers.Control.Button({ |
4032 | 4082 | displayClass: "editorOLsalva", |
4033 | 4083 | trigger: function(){i3GEO.editorOL.salvaGeometrias();}, |
4034 | -title: "salva" | |
4084 | +title: "salva", | |
4085 | +type: OpenLayers.Control.TYPE_BUTTON | |
4035 | 4086 | }); |
4036 | 4087 | controles.push(button); |
4037 | 4088 | adiciona = true; |
... | ... | @@ -4045,7 +4096,8 @@ try |
4045 | 4096 | catch(e) |
4046 | 4097 | {window.open("openlayers_ajuda.php");} |
4047 | 4098 | }, |
4048 | -title: "ajuda" | |
4099 | +title: "ajuda", | |
4100 | +type: OpenLayers.Control.TYPE_BUTTON | |
4049 | 4101 | }); |
4050 | 4102 | controles.push(button); |
4051 | 4103 | adiciona = true; |
... | ... | @@ -4077,7 +4129,8 @@ if(i3GEO.editorOL.backup) |
4077 | 4129 | catch(e){} |
4078 | 4130 | } |
4079 | 4131 | }, |
4080 | -title: "fecha editor" | |
4132 | +title: "fecha editor", | |
4133 | +type: OpenLayers.Control.TYPE_BUTTON | |
4081 | 4134 | }); |
4082 | 4135 | controles.push(button); |
4083 | 4136 | adiciona = true; | ... | ... |
pacotes/openlayers/OpenLayers211.js
... | ... | @@ -1299,7 +1299,7 @@ var height=style.graphicHeight||style.graphicWidth; |
1299 | 1299 | |
1300 | 1300 | width=width?width:style.pointRadius*2; |
1301 | 1301 | height=height?height:style.pointRadius*2; |
1302 | - | |
1302 | +//alert("oi"); | |
1303 | 1303 | var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width); |
1304 | 1304 | var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height); |
1305 | 1305 | var opacity=style.graphicOpacity||style.fillOpacity; |
... | ... | @@ -1939,7 +1939,7 @@ var height=style.graphicHeight||style.graphicWidth; |
1939 | 1939 | width=width?width:style.pointRadius*2; |
1940 | 1940 | height=height?height:style.pointRadius*2; |
1941 | 1941 | width*=resolution;height*=resolution; |
1942 | - | |
1942 | +//alert(width); | |
1943 | 1943 | var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset*resolution:-(0.5*width); |
1944 | 1944 | var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset*resolution:-(0.5*height); |
1945 | 1945 | var opacity=style.graphicOpacity||style.fillOpacity; |
... | ... | @@ -1954,7 +1954,7 @@ else if(this.isComplexSymbol(style.graphicName)){ |
1954 | 1954 | //modificado por edmar |
1955 | 1955 | style.label = " "; |
1956 | 1956 | style.pointRadius = 5; |
1957 | - | |
1957 | +//alert("oi"); | |
1958 | 1958 | var offset=style.pointRadius*3*resolution;var size=offset*2;var src=this.importSymbol(style.graphicName);widthFactor=this.symbolMetrics[src.id].size*3/size*resolution;var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} |
1959 | 1959 | |
1960 | 1960 | node.firstChild&&node.removeChild(node.firstChild);node.appendChild(src.firstChild.cloneNode(true));node.setAttributeNS(null,"viewBox",src.getAttributeNS(null,"viewBox"));node.setAttributeNS(null,"width",size);node.setAttributeNS(null,"height",size);node.setAttributeNS(null,"x",node._x-offset);node.setAttributeNS(null,"y",node._y-offset);if(nextSibling){parent.insertBefore(node,nextSibling);}else if(parent){parent.appendChild(node);}}else{node.setAttributeNS(null,"r",style.pointRadius*resolution);} |
... | ... | @@ -2129,7 +2129,14 @@ this.root.setAttributeNS(null,"transform",transformString);this.translationParam |
2129 | 2129 | break;case"OpenLayers.Geometry.Rectangle":nodeType="rect";break;case"OpenLayers.Geometry.LineString":nodeType="polyline";break;case"OpenLayers.Geometry.LinearRing":nodeType="polygon";break;case"OpenLayers.Geometry.Polygon":case"OpenLayers.Geometry.Curve":case"OpenLayers.Geometry.Surface":nodeType="path";break;default:break;} |
2130 | 2130 | return nodeType;},setStyle:function(node,style,options){style=style||node._style;options=options||node._options;var r=parseFloat(node.getAttributeNS(null,"r"));var widthFactor=1;var pos;if(node._geometryClass=="OpenLayers.Geometry.Point"&&r){node.style.visibility="";if(style.graphic===false){node.style.visibility="hidden";}else if(style.externalGraphic){pos=this.getPosition(node);if(style.graphicTitle){node.setAttributeNS(null,"title",style.graphicTitle);var label=this.nodeFactory(null,"title");label.textContent=style.graphicTitle;node.appendChild(label);} |
2131 | 2131 | if(style.graphicWidth&&style.graphicHeight){node.setAttributeNS(null,"preserveAspectRatio","none");} |
2132 | -var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;node.setAttributeNS(null,"x",(pos.x+xOffset).toFixed());node.setAttributeNS(null,"y",(pos.y+yOffset).toFixed());node.setAttributeNS(null,"width",width);node.setAttributeNS(null,"height",height);node.setAttributeNS(this.xlinkns,"href",style.externalGraphic);node.setAttributeNS(null,"style","opacity: "+opacity);node.onclick=OpenLayers.Renderer.SVG.preventDefault;}else if(this.isComplexSymbol(style.graphicName)){var offset=style.pointRadius*3;var size=offset*2;var src=this.importSymbol(style.graphicName);pos=this.getPosition(node);widthFactor=this.symbolMetrics[src.id][0]*3/size;var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} | |
2132 | +var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;node.setAttributeNS(null,"x",(pos.x+xOffset).toFixed());node.setAttributeNS(null,"y",(pos.y+yOffset).toFixed());node.setAttributeNS(null,"width",width);node.setAttributeNS(null,"height",height);node.setAttributeNS(this.xlinkns,"href",style.externalGraphic);node.setAttributeNS(null,"style","opacity: "+opacity);node.onclick=OpenLayers.Renderer.SVG.preventDefault;}else if(this.isComplexSymbol(style.graphicName)){ | |
2133 | + //modificado por edmar | |
2134 | + style.label = " "; | |
2135 | + style.pointRadius = 5; | |
2136 | +var offset=style.pointRadius*3;var size=offset*2; | |
2137 | +var src=this.importSymbol(style.graphicName);pos=this.getPosition(node); | |
2138 | +widthFactor=this.symbolMetrics[src.id][0]*3/size; | |
2139 | +var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} | |
2133 | 2140 | node.firstChild&&node.removeChild(node.firstChild);node.appendChild(src.firstChild.cloneNode(true));node.setAttributeNS(null,"viewBox",src.getAttributeNS(null,"viewBox"));node.setAttributeNS(null,"width",size);node.setAttributeNS(null,"height",size);node.setAttributeNS(null,"x",pos.x-offset);node.setAttributeNS(null,"y",pos.y-offset);if(nextSibling){parent.insertBefore(node,nextSibling);}else if(parent){parent.appendChild(node);}}else{node.setAttributeNS(null,"r",style.pointRadius);} |
2134 | 2141 | var rotation=style.rotation;if((rotation!==undefined||node._rotation!==undefined)&&pos){node._rotation=rotation;rotation|=0;if(node.nodeName!=="svg"){node.setAttributeNS(null,"transform","rotate("+rotation+" "+pos.x+" "+ |
2135 | 2142 | pos.y+")");}else{var metrics=this.symbolMetrics[src.id];node.firstChild.setAttributeNS(null,"transform","rotate(" |
... | ... | @@ -2146,21 +2153,38 @@ d+=" z";if(draw){node.setAttributeNS(null,"d",d);node.setAttributeNS(null,"fill- |
2146 | 2153 | d="M "+component;}else if((i%3)==1){var component=this.getShortString(geometry.components[i]);if(!component){draw=false;} |
2147 | 2154 | d+=" C "+component;}else{var component=this.getShortString(geometry.components[i]);if(!component){draw=false;} |
2148 | 2155 | d+=" "+component;}} |
2149 | -d+=" Z";if(draw){node.setAttributeNS(null,"d",d);return node;}else{return false;}},drawText:function(featureId,style,location){var resolution=this.getResolution();var x=(location.x/resolution+this.left);var y=(location.y/resolution-this.top);var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"text");label.setAttributeNS(null,"x",x);label.setAttributeNS(null,"y",-y);if(style.fontColor){label.setAttributeNS(null,"fill",style.fontColor);} | |
2156 | +d+=" Z";if(draw){node.setAttributeNS(null,"d",d);return node;}else{return false;}}, | |
2157 | +drawText:function(featureId,style,location){var resolution=this.getResolution();var x=(location.x/resolution+this.left);var y=(location.y/resolution-this.top); | |
2158 | +var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"text"); | |
2159 | +label.setAttributeNS(null,"x",x); | |
2160 | +label.setAttributeNS(null,"y",-y); | |
2161 | +if(style.fontColor){label.setAttributeNS(null,"fill",style.fontColor);} | |
2150 | 2162 | if(style.fontOpacity){label.setAttributeNS(null,"opacity",style.fontOpacity);} |
2151 | 2163 | if(style.fontFamily){label.setAttributeNS(null,"font-family",style.fontFamily);} |
2152 | 2164 | if(style.fontSize){label.setAttributeNS(null,"font-size",style.fontSize);} |
2153 | 2165 | if(style.fontWeight){label.setAttributeNS(null,"font-weight",style.fontWeight);} |
2154 | 2166 | if(style.fontStyle){label.setAttributeNS(null,"font-style",style.fontStyle);} |
2155 | -if(style.labelSelect===true){label.setAttributeNS(null,"pointer-events","visible");label._featureId=featureId;}else{label.setAttributeNS(null,"pointer-events","none");} | |
2167 | +if(style.labelSelect===true){label.setAttributeNS(null,"pointer-events","visible"); | |
2168 | +label._featureId=featureId;}else{label.setAttributeNS(null,"pointer-events","none");} | |
2156 | 2169 | var align=style.labelAlign||"cm";label.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[0]]||"middle");if(OpenLayers.IS_GECKO===true){label.setAttributeNS(null,"dominant-baseline",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[1]]||"central");} |
2157 | 2170 | var labelRows=style.label.split('\n');var numRows=labelRows.length;while(label.childNodes.length>numRows){label.removeChild(label.lastChild);} |
2158 | -for(var i=0;i<numRows;i++){var tspan=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_tspan_"+i,"tspan");if(style.labelSelect===true){tspan._featureId=featureId;tspan._geometry=location;tspan._geometryClass=location.CLASS_NAME;} | |
2159 | -if(OpenLayers.IS_GECKO===false){tspan.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[align[1]]||"-35%");} | |
2171 | +for(var i=0;i<numRows;i++){ | |
2172 | + | |
2173 | +var tspan=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_tspan_"+i,"tspan"); | |
2174 | +if(style.labelSelect===true){tspan._featureId=featureId; | |
2175 | +tspan._geometry=location;tspan._geometryClass=location.CLASS_NAME;} | |
2176 | +if(OpenLayers.IS_GECKO===false){ | |
2177 | +tspan.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[align[1]]||"-35%");} | |
2160 | 2178 | tspan.setAttribute("x",x);if(i==0){var vfactor=OpenLayers.Renderer.SVG.LABEL_VFACTOR[align[1]];if(vfactor==null){vfactor=-.5;} |
2161 | 2179 | tspan.setAttribute("dy",(vfactor*(numRows-1))+"em");}else{tspan.setAttribute("dy","1em");} |
2162 | -tspan.textContent=(labelRows[i]==='')?' ':labelRows[i];if(!tspan.parentNode){label.appendChild(tspan);}} | |
2163 | -if(!label.parentNode){this.textRoot.appendChild(label);}},getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i<len;i++){component=components[i];renderCmp.push(component);str=this.getShortString(component);if(str){strings.push(str);}else{if(i>0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} | |
2180 | + | |
2181 | +tspan.textContent=(labelRows[i]==='')?' ':labelRows[i]; | |
2182 | +if(tspan.textContent == undefined || tspan.textContent == 'undefined') | |
2183 | +{tspan.textContent = "";} | |
2184 | +if(!tspan.parentNode){label.appendChild(tspan);}} | |
2185 | + | |
2186 | +if(!label.parentNode){this.textRoot.appendChild(label);}}, | |
2187 | +getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i<len;i++){component=components[i];renderCmp.push(component);str=this.getShortString(component);if(str){strings.push(str);}else{if(i>0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} | |
2164 | 2188 | if(i<len-1){if(this.getShortString(components[i+1])){strings.push(this.clipLine(components[i],components[i+1]));}} |
2165 | 2189 | complete=false;}} |
2166 | 2190 | return{path:strings.join(separator||","),complete:complete};},clipLine:function(badComponent,goodComponent){if(goodComponent.equals(badComponent)){return"";} |
... | ... | @@ -2715,7 +2739,7 @@ else{ |
2715 | 2739 | var symbol=OpenLayers.Renderer.symbol[graphicName]; |
2716 | 2740 | if(!symbol){throw new Error(graphicName+' is not a valid symbol name');return;} |
2717 | 2741 | } |
2718 | - | |
2742 | +//alert("oi"); | |
2719 | 2743 | var symbolExtent=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);var pathitems=["m"];for(var i=0;i<symbol.length;i=i+2){var x=symbol[i];var y=symbol[i+1];symbolExtent.left=Math.min(symbolExtent.left,x);symbolExtent.bottom=Math.min(symbolExtent.bottom,y);symbolExtent.right=Math.max(symbolExtent.right,x);symbolExtent.top=Math.max(symbolExtent.top,y);pathitems.push(x);pathitems.push(y);if(i==0){pathitems.push("l");}} |
2720 | 2744 | pathitems.push("x e");var path=pathitems.join(" ");var diff=(symbolExtent.getWidth()-symbolExtent.getHeight())/2;if(diff>0){symbolExtent.bottom=symbolExtent.bottom-diff;symbolExtent.top=symbolExtent.top+diff;}else{symbolExtent.left=symbolExtent.left+diff;symbolExtent.right=symbolExtent.right-diff;} |
2721 | 2745 | cache={path:path,size:symbolExtent.getWidth(),left:symbolExtent.left,bottom:symbolExtent.bottom};this.symbolCache[id]=cache;return cache;},CLASS_NAME:"OpenLayers.Renderer.VML"});OpenLayers.Renderer.VML.LABEL_SHIFT={"l":0,"c":.5,"r":1,"t":0,"m":.5,"b":1};OpenLayers.Layer.MultiMap=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:1,MAX_ZOOM_LEVEL:17,RESOLUTIONS:[9,1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125],type:null,initialize:function(name,options){OpenLayers.Layer.EventPane.prototype.initialize.apply(this,arguments);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,arguments);if(this.sphericalMercator){OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator);this.initMercatorParameters();this.RESOLUTIONS.unshift(10);}},loadMapObject:function(){try{this.mapObject=new MultimapViewer(this.div);}catch(e){}},getWarningHTML:function(){return OpenLayers.i18n("getLayerWarning",{'layerType':"MM",'layerLib':"MultiMap"});},setMapObjectCenter:function(center,zoom){this.mapObject.goToPosition(center,zoom);},getMapObjectCenter:function(){return this.mapObject.getCurrentPosition();},getMapObjectZoom:function(){return this.mapObject.getZoomFactor();},getMapObjectLonLatFromMapObjectPixel:function(moPixel){moPixel.x=moPixel.x-(this.map.getSize().w/2);moPixel.y=moPixel.y-(this.map.getSize().h/2);return this.mapObject.getMapPositionAt(moPixel);},getMapObjectPixelFromMapObjectLonLat:function(moLonLat){return this.mapObject.geoPosToContainerPixels(moLonLat);},getLongitudeFromMapObjectLonLat:function(moLonLat){return this.sphericalMercator?this.forwardMercator(moLonLat.lon,moLonLat.lat).lon:moLonLat.lon;},getLatitudeFromMapObjectLonLat:function(moLonLat){return this.sphericalMercator?this.forwardMercator(moLonLat.lon,moLonLat.lat).lat:moLonLat.lat;},getMapObjectLonLatFromLonLat:function(lon,lat){var mmLatLon;if(this.sphericalMercator){var lonlat=this.inverseMercator(lon,lat);mmLatLon=new MMLatLon(lonlat.lat,lonlat.lon);}else{mmLatLon=new MMLatLon(lat,lon);} | ... | ... |
pacotes/openlayers/OpenLayers211.js.php
... | ... | @@ -1300,7 +1300,7 @@ var height=style.graphicHeight||style.graphicWidth; |
1300 | 1300 | |
1301 | 1301 | width=width?width:style.pointRadius*2; |
1302 | 1302 | height=height?height:style.pointRadius*2; |
1303 | - | |
1303 | +//alert("oi"); | |
1304 | 1304 | var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width); |
1305 | 1305 | var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height); |
1306 | 1306 | var opacity=style.graphicOpacity||style.fillOpacity; |
... | ... | @@ -1940,7 +1940,7 @@ var height=style.graphicHeight||style.graphicWidth; |
1940 | 1940 | width=width?width:style.pointRadius*2; |
1941 | 1941 | height=height?height:style.pointRadius*2; |
1942 | 1942 | width*=resolution;height*=resolution; |
1943 | - | |
1943 | +//alert(width); | |
1944 | 1944 | var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset*resolution:-(0.5*width); |
1945 | 1945 | var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset*resolution:-(0.5*height); |
1946 | 1946 | var opacity=style.graphicOpacity||style.fillOpacity; |
... | ... | @@ -1955,7 +1955,7 @@ else if(this.isComplexSymbol(style.graphicName)){ |
1955 | 1955 | //modificado por edmar |
1956 | 1956 | style.label = " "; |
1957 | 1957 | style.pointRadius = 5; |
1958 | - | |
1958 | +//alert("oi"); | |
1959 | 1959 | var offset=style.pointRadius*3*resolution;var size=offset*2;var src=this.importSymbol(style.graphicName);widthFactor=this.symbolMetrics[src.id].size*3/size*resolution;var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} |
1960 | 1960 | |
1961 | 1961 | node.firstChild&&node.removeChild(node.firstChild);node.appendChild(src.firstChild.cloneNode(true));node.setAttributeNS(null,"viewBox",src.getAttributeNS(null,"viewBox"));node.setAttributeNS(null,"width",size);node.setAttributeNS(null,"height",size);node.setAttributeNS(null,"x",node._x-offset);node.setAttributeNS(null,"y",node._y-offset);if(nextSibling){parent.insertBefore(node,nextSibling);}else if(parent){parent.appendChild(node);}}else{node.setAttributeNS(null,"r",style.pointRadius*resolution);} |
... | ... | @@ -2130,7 +2130,14 @@ this.root.setAttributeNS(null,"transform",transformString);this.translationParam |
2130 | 2130 | break;case"OpenLayers.Geometry.Rectangle":nodeType="rect";break;case"OpenLayers.Geometry.LineString":nodeType="polyline";break;case"OpenLayers.Geometry.LinearRing":nodeType="polygon";break;case"OpenLayers.Geometry.Polygon":case"OpenLayers.Geometry.Curve":case"OpenLayers.Geometry.Surface":nodeType="path";break;default:break;} |
2131 | 2131 | return nodeType;},setStyle:function(node,style,options){style=style||node._style;options=options||node._options;var r=parseFloat(node.getAttributeNS(null,"r"));var widthFactor=1;var pos;if(node._geometryClass=="OpenLayers.Geometry.Point"&&r){node.style.visibility="";if(style.graphic===false){node.style.visibility="hidden";}else if(style.externalGraphic){pos=this.getPosition(node);if(style.graphicTitle){node.setAttributeNS(null,"title",style.graphicTitle);var label=this.nodeFactory(null,"title");label.textContent=style.graphicTitle;node.appendChild(label);} |
2132 | 2132 | if(style.graphicWidth&&style.graphicHeight){node.setAttributeNS(null,"preserveAspectRatio","none");} |
2133 | -var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;node.setAttributeNS(null,"x",(pos.x+xOffset).toFixed());node.setAttributeNS(null,"y",(pos.y+yOffset).toFixed());node.setAttributeNS(null,"width",width);node.setAttributeNS(null,"height",height);node.setAttributeNS(this.xlinkns,"href",style.externalGraphic);node.setAttributeNS(null,"style","opacity: "+opacity);node.onclick=OpenLayers.Renderer.SVG.preventDefault;}else if(this.isComplexSymbol(style.graphicName)){var offset=style.pointRadius*3;var size=offset*2;var src=this.importSymbol(style.graphicName);pos=this.getPosition(node);widthFactor=this.symbolMetrics[src.id][0]*3/size;var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} | |
2133 | +var width=style.graphicWidth||style.graphicHeight;var height=style.graphicHeight||style.graphicWidth;width=width?width:style.pointRadius*2;height=height?height:style.pointRadius*2;var xOffset=(style.graphicXOffset!=undefined)?style.graphicXOffset:-(0.5*width);var yOffset=(style.graphicYOffset!=undefined)?style.graphicYOffset:-(0.5*height);var opacity=style.graphicOpacity||style.fillOpacity;node.setAttributeNS(null,"x",(pos.x+xOffset).toFixed());node.setAttributeNS(null,"y",(pos.y+yOffset).toFixed());node.setAttributeNS(null,"width",width);node.setAttributeNS(null,"height",height);node.setAttributeNS(this.xlinkns,"href",style.externalGraphic);node.setAttributeNS(null,"style","opacity: "+opacity);node.onclick=OpenLayers.Renderer.SVG.preventDefault;}else if(this.isComplexSymbol(style.graphicName)){ | |
2134 | + //modificado por edmar | |
2135 | + style.label = " "; | |
2136 | + style.pointRadius = 5; | |
2137 | +var offset=style.pointRadius*3;var size=offset*2; | |
2138 | +var src=this.importSymbol(style.graphicName);pos=this.getPosition(node); | |
2139 | +widthFactor=this.symbolMetrics[src.id][0]*3/size; | |
2140 | +var parent=node.parentNode;var nextSibling=node.nextSibling;if(parent){parent.removeChild(node);} | |
2134 | 2141 | node.firstChild&&node.removeChild(node.firstChild);node.appendChild(src.firstChild.cloneNode(true));node.setAttributeNS(null,"viewBox",src.getAttributeNS(null,"viewBox"));node.setAttributeNS(null,"width",size);node.setAttributeNS(null,"height",size);node.setAttributeNS(null,"x",pos.x-offset);node.setAttributeNS(null,"y",pos.y-offset);if(nextSibling){parent.insertBefore(node,nextSibling);}else if(parent){parent.appendChild(node);}}else{node.setAttributeNS(null,"r",style.pointRadius);} |
2135 | 2142 | var rotation=style.rotation;if((rotation!==undefined||node._rotation!==undefined)&&pos){node._rotation=rotation;rotation|=0;if(node.nodeName!=="svg"){node.setAttributeNS(null,"transform","rotate("+rotation+" "+pos.x+" "+ |
2136 | 2143 | pos.y+")");}else{var metrics=this.symbolMetrics[src.id];node.firstChild.setAttributeNS(null,"transform","rotate(" |
... | ... | @@ -2147,21 +2154,38 @@ d+=" z";if(draw){node.setAttributeNS(null,"d",d);node.setAttributeNS(null,"fill- |
2147 | 2154 | d="M "+component;}else if((i%3)==1){var component=this.getShortString(geometry.components[i]);if(!component){draw=false;} |
2148 | 2155 | d+=" C "+component;}else{var component=this.getShortString(geometry.components[i]);if(!component){draw=false;} |
2149 | 2156 | d+=" "+component;}} |
2150 | -d+=" Z";if(draw){node.setAttributeNS(null,"d",d);return node;}else{return false;}},drawText:function(featureId,style,location){var resolution=this.getResolution();var x=(location.x/resolution+this.left);var y=(location.y/resolution-this.top);var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"text");label.setAttributeNS(null,"x",x);label.setAttributeNS(null,"y",-y);if(style.fontColor){label.setAttributeNS(null,"fill",style.fontColor);} | |
2157 | +d+=" Z";if(draw){node.setAttributeNS(null,"d",d);return node;}else{return false;}}, | |
2158 | +drawText:function(featureId,style,location){var resolution=this.getResolution();var x=(location.x/resolution+this.left);var y=(location.y/resolution-this.top); | |
2159 | +var label=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX,"text"); | |
2160 | +label.setAttributeNS(null,"x",x); | |
2161 | +label.setAttributeNS(null,"y",-y); | |
2162 | +if(style.fontColor){label.setAttributeNS(null,"fill",style.fontColor);} | |
2151 | 2163 | if(style.fontOpacity){label.setAttributeNS(null,"opacity",style.fontOpacity);} |
2152 | 2164 | if(style.fontFamily){label.setAttributeNS(null,"font-family",style.fontFamily);} |
2153 | 2165 | if(style.fontSize){label.setAttributeNS(null,"font-size",style.fontSize);} |
2154 | 2166 | if(style.fontWeight){label.setAttributeNS(null,"font-weight",style.fontWeight);} |
2155 | 2167 | if(style.fontStyle){label.setAttributeNS(null,"font-style",style.fontStyle);} |
2156 | -if(style.labelSelect===true){label.setAttributeNS(null,"pointer-events","visible");label._featureId=featureId;}else{label.setAttributeNS(null,"pointer-events","none");} | |
2168 | +if(style.labelSelect===true){label.setAttributeNS(null,"pointer-events","visible"); | |
2169 | +label._featureId=featureId;}else{label.setAttributeNS(null,"pointer-events","none");} | |
2157 | 2170 | var align=style.labelAlign||"cm";label.setAttributeNS(null,"text-anchor",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[0]]||"middle");if(OpenLayers.IS_GECKO===true){label.setAttributeNS(null,"dominant-baseline",OpenLayers.Renderer.SVG.LABEL_ALIGN[align[1]]||"central");} |
2158 | 2171 | var labelRows=style.label.split('\n');var numRows=labelRows.length;while(label.childNodes.length>numRows){label.removeChild(label.lastChild);} |
2159 | -for(var i=0;i<numRows;i++){var tspan=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_tspan_"+i,"tspan");if(style.labelSelect===true){tspan._featureId=featureId;tspan._geometry=location;tspan._geometryClass=location.CLASS_NAME;} | |
2160 | -if(OpenLayers.IS_GECKO===false){tspan.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[align[1]]||"-35%");} | |
2172 | +for(var i=0;i<numRows;i++){ | |
2173 | + | |
2174 | +var tspan=this.nodeFactory(featureId+this.LABEL_ID_SUFFIX+"_tspan_"+i,"tspan"); | |
2175 | +if(style.labelSelect===true){tspan._featureId=featureId; | |
2176 | +tspan._geometry=location;tspan._geometryClass=location.CLASS_NAME;} | |
2177 | +if(OpenLayers.IS_GECKO===false){ | |
2178 | +tspan.setAttributeNS(null,"baseline-shift",OpenLayers.Renderer.SVG.LABEL_VSHIFT[align[1]]||"-35%");} | |
2161 | 2179 | tspan.setAttribute("x",x);if(i==0){var vfactor=OpenLayers.Renderer.SVG.LABEL_VFACTOR[align[1]];if(vfactor==null){vfactor=-.5;} |
2162 | 2180 | tspan.setAttribute("dy",(vfactor*(numRows-1))+"em");}else{tspan.setAttribute("dy","1em");} |
2163 | -tspan.textContent=(labelRows[i]==='')?' ':labelRows[i];if(!tspan.parentNode){label.appendChild(tspan);}} | |
2164 | -if(!label.parentNode){this.textRoot.appendChild(label);}},getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i<len;i++){component=components[i];renderCmp.push(component);str=this.getShortString(component);if(str){strings.push(str);}else{if(i>0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} | |
2181 | + | |
2182 | +tspan.textContent=(labelRows[i]==='')?' ':labelRows[i]; | |
2183 | +if(tspan.textContent == undefined || tspan.textContent == 'undefined') | |
2184 | +{tspan.textContent = "";} | |
2185 | +if(!tspan.parentNode){label.appendChild(tspan);}} | |
2186 | + | |
2187 | +if(!label.parentNode){this.textRoot.appendChild(label);}}, | |
2188 | +getComponentsString:function(components,separator){var renderCmp=[];var complete=true;var len=components.length;var strings=[];var str,component;for(var i=0;i<len;i++){component=components[i];renderCmp.push(component);str=this.getShortString(component);if(str){strings.push(str);}else{if(i>0){if(this.getShortString(components[i-1])){strings.push(this.clipLine(components[i],components[i-1]));}} | |
2165 | 2189 | if(i<len-1){if(this.getShortString(components[i+1])){strings.push(this.clipLine(components[i],components[i+1]));}} |
2166 | 2190 | complete=false;}} |
2167 | 2191 | return{path:strings.join(separator||","),complete:complete};},clipLine:function(badComponent,goodComponent){if(goodComponent.equals(badComponent)){return"";} |
... | ... | @@ -2716,7 +2740,7 @@ else{ |
2716 | 2740 | var symbol=OpenLayers.Renderer.symbol[graphicName]; |
2717 | 2741 | if(!symbol){throw new Error(graphicName+' is not a valid symbol name');return;} |
2718 | 2742 | } |
2719 | - | |
2743 | +//alert("oi"); | |
2720 | 2744 | var symbolExtent=new OpenLayers.Bounds(Number.MAX_VALUE,Number.MAX_VALUE,0,0);var pathitems=["m"];for(var i=0;i<symbol.length;i=i+2){var x=symbol[i];var y=symbol[i+1];symbolExtent.left=Math.min(symbolExtent.left,x);symbolExtent.bottom=Math.min(symbolExtent.bottom,y);symbolExtent.right=Math.max(symbolExtent.right,x);symbolExtent.top=Math.max(symbolExtent.top,y);pathitems.push(x);pathitems.push(y);if(i==0){pathitems.push("l");}} |
2721 | 2745 | pathitems.push("x e");var path=pathitems.join(" ");var diff=(symbolExtent.getWidth()-symbolExtent.getHeight())/2;if(diff>0){symbolExtent.bottom=symbolExtent.bottom-diff;symbolExtent.top=symbolExtent.top+diff;}else{symbolExtent.left=symbolExtent.left+diff;symbolExtent.right=symbolExtent.right-diff;} |
2722 | 2746 | cache={path:path,size:symbolExtent.getWidth(),left:symbolExtent.left,bottom:symbolExtent.bottom};this.symbolCache[id]=cache;return cache;},CLASS_NAME:"OpenLayers.Renderer.VML"});OpenLayers.Renderer.VML.LABEL_SHIFT={"l":0,"c":.5,"r":1,"t":0,"m":.5,"b":1};OpenLayers.Layer.MultiMap=OpenLayers.Class(OpenLayers.Layer.EventPane,OpenLayers.Layer.FixedZoomLevels,{MIN_ZOOM_LEVEL:1,MAX_ZOOM_LEVEL:17,RESOLUTIONS:[9,1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125],type:null,initialize:function(name,options){OpenLayers.Layer.EventPane.prototype.initialize.apply(this,arguments);OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this,arguments);if(this.sphericalMercator){OpenLayers.Util.extend(this,OpenLayers.Layer.SphericalMercator);this.initMercatorParameters();this.RESOLUTIONS.unshift(10);}},loadMapObject:function(){try{this.mapObject=new MultimapViewer(this.div);}catch(e){}},getWarningHTML:function(){return OpenLayers.i18n("getLayerWarning",{'layerType':"MM",'layerLib':"MultiMap"});},setMapObjectCenter:function(center,zoom){this.mapObject.goToPosition(center,zoom);},getMapObjectCenter:function(){return this.mapObject.getCurrentPosition();},getMapObjectZoom:function(){return this.mapObject.getZoomFactor();},getMapObjectLonLatFromMapObjectPixel:function(moPixel){moPixel.x=moPixel.x-(this.map.getSize().w/2);moPixel.y=moPixel.y-(this.map.getSize().h/2);return this.mapObject.getMapPositionAt(moPixel);},getMapObjectPixelFromMapObjectLonLat:function(moLonLat){return this.mapObject.geoPosToContainerPixels(moLonLat);},getLongitudeFromMapObjectLonLat:function(moLonLat){return this.sphericalMercator?this.forwardMercator(moLonLat.lon,moLonLat.lat).lon:moLonLat.lon;},getLatitudeFromMapObjectLonLat:function(moLonLat){return this.sphericalMercator?this.forwardMercator(moLonLat.lon,moLonLat.lat).lat:moLonLat.lat;},getMapObjectLonLatFromLonLat:function(lon,lat){var mmLatLon;if(this.sphericalMercator){var lonlat=this.inverseMercator(lon,lat);mmLatLon=new MMLatLon(lonlat.lat,lonlat.lon);}else{mmLatLon=new MMLatLon(lat,lon);} | ... | ... |