Commit 9f5812d73be465f68e4a7b234347e07d373377ba
1 parent
7eebdf61
Exists in
master
and in
7 other branches
Conclusão da implementação do mapa de cluster
Showing
5 changed files
with
704 additions
and
619 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesjs/classe_plugini3geo.js
1 | 1 | /** |
2 | 2 | * Title: PluginI3Geo |
3 | - * | |
3 | + * | |
4 | 4 | * i3GEO.pluginI3geo |
5 | - * | |
6 | - * Implementa os plugins do i3Geo que adicionam camadas especiais ao mapa, normalmente dados vetoriais processados no navegador Web. | |
7 | - * | |
5 | + * | |
6 | + * Implementa os plugins do i3Geo que adicionam camadas especiais ao mapa, | |
7 | + * normalmente dados vetoriais processados no navegador Web. | |
8 | + * | |
8 | 9 | * Arquivo: |
9 | - * | |
10 | + * | |
10 | 11 | * i3geo/classesjs/classe_plugini3geo.js |
11 | - * | |
12 | + * | |
12 | 13 | * Licença: |
13 | - * | |
14 | + * | |
14 | 15 | * GPL2 |
15 | - * | |
16 | + * | |
16 | 17 | * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet |
17 | - * | |
18 | - * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
19 | - * | |
20 | - * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença | |
21 | - * Pública Geral GNU conforme publicada pela Free Software Foundation; | |
22 | - * | |
23 | - * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a | |
24 | - * garantia implícita de COMERCIABILIDADE OU ADEQUACÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença | |
25 | - * Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do | |
26 | - * GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite | |
27 | - * 330, Boston, MA 02111-1307 USA. | |
18 | + * | |
19 | + * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente | |
20 | + * Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
21 | + * | |
22 | + * Este programa é software livre; você pode redistribuí-lo | |
23 | + * e/ou modificá-lo sob os termos da Licença Pública Geral | |
24 | + * GNU conforme publicada pela Free Software Foundation; | |
25 | + * | |
26 | + * Este programa é distribuído na expectativa de que seja | |
27 | + * útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia | |
28 | + * implícita de COMERCIABILIDADE OU ADEQUACÃO A UMA FINALIDADE | |
29 | + * ESPECÍFICA. Consulte a Licença Pública Geral do GNU para | |
30 | + * mais detalhes. Você deve ter recebido uma cópia da | |
31 | + * Licença Pública Geral do GNU junto com este programa; se | |
32 | + * não, escreva para a Free Software Foundation, Inc., no endereço | |
33 | + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
28 | 34 | */ |
29 | 35 | if (typeof (i3GEO) === 'undefined') { |
30 | 36 | var i3GEO = {}; |
31 | 37 | } |
32 | -i3GEO.pluginI3geo = | |
33 | - { | |
34 | - OBJETOS : {}, | |
35 | - /** | |
36 | - * Lista de plugins | |
37 | - * | |
38 | - * Utilizado no editor de mapfiles do sistema de administracao | |
39 | - */ | |
40 | - PLUGINS : [ | |
38 | +i3GEO.pluginI3geo = { | |
39 | + OBJETOS : {}, | |
40 | + /** | |
41 | + * Lista de plugins | |
42 | + * | |
43 | + * Utilizado no editor de mapfiles do sistema de administracao | |
44 | + */ | |
45 | + PLUGINS : [ | |
41 | 46 | { |
42 | 47 | "classe" : "heatmap", |
43 | 48 | "nome" : "Mapa de calor", |
44 | 49 | "editor" : true |
45 | - }, | |
46 | - { | |
50 | + }, { | |
47 | 51 | "classe" : "markercluster", |
48 | 52 | "nome" : "Agrupamento de pontos (cluster)", |
49 | 53 | "editor" : true |
50 | 54 | } |
51 | - ], | |
52 | - /** | |
53 | - * Inicia a execucao de um plugin | |
54 | - * | |
55 | - * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas | |
56 | - * as camadas adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo verifica se a camada possui plugin e direciona para | |
57 | - * ca Os plugins sao definidos como metadados em cada mapfile de cada tema | |
58 | - * | |
59 | - * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas | |
60 | - */ | |
61 | - inicia : function(camada) { | |
62 | - if (i3GEO.janela) { | |
63 | - i3GEO.janela.AGUARDEMODAL = true; | |
64 | - i3GEO.janela.abreAguarde("aguardePlugin", "Plugin..."); | |
65 | - i3GEO.janela.AGUARDEMODAL = false; | |
66 | - } | |
67 | - // chama a funcao conforme o tipo de plugin e a interface atual | |
68 | - // para cada plugin deve haver um objeto com as funcoes especificas | |
69 | - // para | |
70 | - // cada interface | |
71 | - i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada); | |
72 | - }, | |
73 | - /** | |
74 | - * Retorna o HTML com o formulario para editar os parametros do plugin | |
75 | - */ | |
76 | - formAdmin : function(plugin, configString) { | |
77 | - return i3GEO.pluginI3geo[plugin].formAdmin(configString); | |
78 | - }, | |
79 | - linkAjuda : function(plugin) { | |
80 | - return i3GEO.pluginI3geo[plugin].linkAjuda(); | |
81 | - }, | |
82 | - ligaCamada : function(nomecamada) { | |
83 | - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada) { | |
84 | - i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada(); | |
85 | - return true; | |
86 | - } | |
87 | - return false; | |
88 | - }, | |
89 | - desligaCamada : function(nomecamada) { | |
90 | - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada) { | |
91 | - i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada(); | |
92 | - return true; | |
93 | - } | |
94 | - return false; | |
95 | - }, | |
96 | - removeCamada : function(nomecamada) { | |
97 | - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada) { | |
98 | - i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada(); | |
99 | - delete (i3GEO.pluginI3geo.OBJETOS[nomecamada]); | |
100 | - return true; | |
101 | - } | |
102 | - return false; | |
103 | - }, | |
104 | - atualizaCamada : function(nomecamada) { | |
105 | - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) { | |
106 | - i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada(); | |
107 | - return true; | |
108 | - } | |
109 | - return false; | |
55 | + ], | |
56 | + /** | |
57 | + * Inicia a execucao de um plugin | |
58 | + * | |
59 | + * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao | |
60 | + * mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas as camadas | |
61 | + * adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo | |
62 | + * verifica se a camada possui plugin e direciona para ca Os plugins sao | |
63 | + * definidos como metadados em cada mapfile de cada tema | |
64 | + * | |
65 | + * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas | |
66 | + */ | |
67 | + inicia : function(camada) { | |
68 | + if (i3GEO.janela) { | |
69 | + i3GEO.janela.AGUARDEMODAL = true; | |
70 | + i3GEO.janela.abreAguarde( | |
71 | + "aguardePlugin", | |
72 | + "Plugin..."); | |
73 | + i3GEO.janela.AGUARDEMODAL = false; | |
74 | + } | |
75 | + // chama a funcao conforme o tipo de plugin e a interface atual | |
76 | + // para cada plugin deve haver um objeto com as funcoes especificas | |
77 | + // para | |
78 | + // cada interface | |
79 | + i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada); | |
80 | + }, | |
81 | + /** | |
82 | + * Retorna o HTML com o formulario para editar os parametros do plugin | |
83 | + */ | |
84 | + formAdmin : function(plugin, configString) { | |
85 | + return i3GEO.pluginI3geo[plugin].formAdmin(configString); | |
86 | + }, | |
87 | + linkAjuda : function(plugin) { | |
88 | + return i3GEO.pluginI3geo[plugin].linkAjuda(); | |
89 | + }, | |
90 | + ligaCamada : function(nomecamada) { | |
91 | + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] | |
92 | + && i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada) { | |
93 | + i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada(); | |
94 | + return true; | |
95 | + } | |
96 | + return false; | |
97 | + }, | |
98 | + desligaCamada : function(nomecamada) { | |
99 | + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] | |
100 | + && i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada) { | |
101 | + i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada(); | |
102 | + return true; | |
103 | + } | |
104 | + return false; | |
105 | + }, | |
106 | + removeCamada : function(nomecamada) { | |
107 | + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] | |
108 | + && i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada) { | |
109 | + i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada(); | |
110 | + delete (i3GEO.pluginI3geo.OBJETOS[nomecamada]); | |
111 | + return true; | |
112 | + } | |
113 | + return false; | |
114 | + }, | |
115 | + atualizaCamada : function(nomecamada) { | |
116 | + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] | |
117 | + && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) { | |
118 | + i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada(); | |
119 | + return true; | |
120 | + } | |
121 | + return false; | |
122 | + }, | |
123 | + existeObjeto : function(nomecamada) { | |
124 | + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] | |
125 | + && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) { | |
126 | + return true; | |
127 | + } | |
128 | + return false; | |
129 | + }, | |
130 | + /** | |
131 | + * Aplica as propriedades em um objeto do tipo tema | |
132 | + * | |
133 | + * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e | |
134 | + * necessario para que as propriedades aparecam de forma correta na arvore | |
135 | + * de camadas | |
136 | + */ | |
137 | + aplicaPropriedades : function(camada) { | |
138 | + if (camada.plugini3geo | |
139 | + && camada.plugini3geo != "") { | |
140 | + camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada); | |
141 | + } | |
142 | + return camada; | |
143 | + }, | |
144 | + /** | |
145 | + * Function: heatmap | |
146 | + * | |
147 | + * Mapa de calor | |
148 | + * | |
149 | + * Gera um layer do tipo mapa de calor e adiciona ao mapa | |
150 | + * | |
151 | + * As dependências em javascript sao carregadas via script tag por | |
152 | + * meio de ferramentas/heatmap | |
153 | + * | |
154 | + * Esse programa também obtém os dados necessários ao | |
155 | + * plugin | |
156 | + * | |
157 | + * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO | |
158 | + * | |
159 | + * Esse matadado deve conter uma string que será transformada em um | |
160 | + * objeto javascript para uso no plugin | |
161 | + * | |
162 | + * Exemplo: | |
163 | + * | |
164 | + * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente": | |
165 | + * "default","coluna":"teste","max":"10","radius":"15"}}' | |
166 | + * | |
167 | + * Coluna é a que contém os dados numéricos que definem | |
168 | + * a quantidade de uma medida em cada ponto e é usada para gerar a | |
169 | + * representação. Se for vazia, considera-se o valor como 1 | |
170 | + * | |
171 | + * As cores das classes existentes no LAYER serão utilizadas para | |
172 | + * calcular as cores do mapa de calor. Se tipoGradiente for igual a | |
173 | + * "default" será utilizado o gradiente padrão. | |
174 | + * | |
175 | + */ | |
176 | + heatmap : { | |
177 | + linkAjuda : function() { | |
178 | + return i3GEO.configura.locaplic | |
179 | + + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; | |
110 | 180 | }, |
111 | - existeObjeto : function(nomecamada) { | |
112 | - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) { | |
113 | - return true; | |
181 | + formAdmin : function(config) { | |
182 | + // {"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}} | |
183 | + var parametros, ins = "", configDefault = '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}'; | |
184 | + if (config === "") { | |
185 | + config = configDefault; | |
114 | 186 | } |
115 | - return false; | |
116 | - }, | |
117 | - /** | |
118 | - * Aplica as propriedades em um objeto do tipo tema | |
119 | - * | |
120 | - * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e necessario para que as propriedades aparecam de forma | |
121 | - * correta na arvore de camadas | |
122 | - */ | |
123 | - aplicaPropriedades : function(camada) { | |
124 | - if (camada.plugini3geo && camada.plugini3geo != "") { | |
125 | - camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada); | |
187 | + config = YAHOO.lang.JSON.parse(config); | |
188 | + if (config.plugin != "heatmap") { | |
189 | + config = YAHOO.lang.JSON.parse(configDefault); | |
126 | 190 | } |
127 | - return camada; | |
191 | + parametros = config.parametros; | |
192 | + ins += "" | |
193 | + + "<p>Coluna que contém os dados:" | |
194 | + + "<br><input name='coluna' type='text' value='" | |
195 | + + parametros.coluna | |
196 | + + "' size='30'></p>" | |
197 | + + "<p>Ou valor numérico para cada ponto:" | |
198 | + + "<br><input name='valorPonto' type='text' value='" | |
199 | + + parametros.valorPonto | |
200 | + + "' size='30'></p>" | |
201 | + + "<p>Raio de cada ponto em pixels:" | |
202 | + + "<br><input name='radius' type='text' value='" | |
203 | + + parametros.radius | |
204 | + + "' size='30'></p>" | |
205 | + // + "<p>Valor máximo em cada ponto:" | |
206 | + // + "<br><input name='max' type='text' value='" | |
207 | + // + parametros.max | |
208 | + // + "' size='30'></p>" | |
209 | + + "<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):" | |
210 | + + "<br><input name='tipoGradiente' type='text' value='" | |
211 | + + parametros.tipoGradiente | |
212 | + + "' size='30'></p>" | |
213 | + + "<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1." | |
214 | + + " As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor." | |
215 | + + " Veja o exemplo utilizado no tema _lmapadecalor.map</p>"; | |
216 | + return ins; | |
128 | 217 | }, |
129 | - /** | |
130 | - * Function: heatmap | |
131 | - * | |
132 | - * Mapa de calor | |
133 | - * | |
134 | - * Gera um layer do tipo mapa de calor e adiciona ao mapa | |
135 | - * | |
136 | - * As dependências em javascript sao carregadas via script tag por meio de ferramentas/heatmap | |
137 | - * | |
138 | - * Esse programa também obtém os dados necessários ao plugin | |
139 | - * | |
140 | - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO | |
141 | - * | |
142 | - * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin | |
143 | - * | |
144 | - * Exemplo: | |
145 | - * | |
146 | - * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"teste","max":"10","radius":"15"}}' | |
147 | - * | |
148 | - * Coluna é a que contém os dados numéricos que definem a quantidade de uma medida em cada ponto e é | |
149 | - * usada para gerar a representação. Se for vazia, considera-se o valor como 1 | |
150 | - * | |
151 | - * As cores das classes existentes no LAYER serão utilizadas para calcular as cores do mapa de calor. Se tipoGradiente for | |
152 | - * igual a "default" será utilizado o gradiente padrão. | |
153 | - * | |
154 | - */ | |
155 | - heatmap : { | |
156 | - linkAjuda : function() { | |
157 | - return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; | |
158 | - }, | |
159 | - formAdmin : function(config) { | |
160 | - // {"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}} | |
161 | - var parametros, ins = "", configDefault = | |
162 | - '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}'; | |
163 | - if (config === "") { | |
164 | - config = configDefault; | |
165 | - } | |
166 | - config = YAHOO.lang.JSON.parse(config); | |
167 | - if (config.plugin != "heatmap") { | |
168 | - config = YAHOO.lang.JSON.parse(configDefault); | |
169 | - } | |
170 | - parametros = config.parametros; | |
171 | - ins += | |
172 | - "" | |
173 | - + "<p>Coluna que contém os dados:" | |
174 | - + "<br><input name='coluna' type='text' value='" | |
175 | - + parametros.coluna | |
176 | - + "' size='30'></p>" | |
177 | - + "<p>Ou valor numérico para cada ponto:" | |
178 | - + "<br><input name='valorPonto' type='text' value='" | |
179 | - + parametros.valorPonto | |
180 | - + "' size='30'></p>" | |
181 | - + "<p>Raio de cada ponto em pixels:" | |
182 | - + "<br><input name='radius' type='text' value='" | |
183 | - + parametros.radius | |
184 | - + "' size='30'></p>" | |
185 | - //+ "<p>Valor máximo em cada ponto:" | |
186 | - //+ "<br><input name='max' type='text' value='" | |
187 | - //+ parametros.max | |
188 | - //+ "' size='30'></p>" | |
189 | - + "<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):" | |
190 | - + "<br><input name='tipoGradiente' type='text' value='" | |
191 | - + parametros.tipoGradiente | |
192 | - + "' size='30'></p>" | |
193 | - + "<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1." | |
194 | - + " As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor." | |
195 | - + " Veja o exemplo utilizado no tema _lmapadecalor.map</p>"; | |
196 | - return ins; | |
218 | + googlemaps : { | |
219 | + aplicaPropriedades : function(camada) { | |
220 | + camada.sel = "nao"; | |
221 | + camada.download = "nao"; | |
222 | + camada.AGUARDALEGENDA = false; | |
223 | + camada.temporizador = ""; | |
224 | + camada.copia = false; | |
225 | + camada.procurar = false; | |
226 | + camada.toponimia = false; | |
227 | + camada.etiquetas = false; | |
228 | + camada.tabela = false; | |
229 | + camada.grafico = false; | |
230 | + camada.destacar = false; | |
231 | + camada.wms = false; | |
232 | + camada.classe = "NAO"; | |
233 | + return camada; | |
197 | 234 | }, |
198 | - googlemaps : { | |
199 | - aplicaPropriedades : function(camada) { | |
200 | - camada.sel = "nao"; | |
201 | - camada.download = "nao"; | |
202 | - camada.AGUARDALEGENDA = false; | |
203 | - camada.temporizador = ""; | |
204 | - camada.copia = false; | |
205 | - camada.procurar = false; | |
206 | - camada.toponimia = false; | |
207 | - camada.etiquetas = false; | |
208 | - camada.tabela = false; | |
209 | - camada.grafico = false; | |
210 | - camada.destacar = false; | |
211 | - camada.wms = false; | |
212 | - camada.classe = "NAO"; | |
213 | - return camada; | |
214 | - }, | |
215 | - inicia : function(camada) { | |
216 | - var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/googlemaps_js.php", carregaJs = | |
217 | - "nao", criaLayer; | |
218 | - criaLayer = function() { | |
219 | - var heatmap, pontos; | |
235 | + inicia : function(camada) { | |
236 | + var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic | |
237 | + + "/ferramentas/heatmap/googlemaps_js.php", carregaJs = "nao", criaLayer; | |
238 | + criaLayer = function() { | |
239 | + var heatmap, pontos; | |
220 | 240 | |
221 | - heatmap = new HeatmapOverlay(i3GeoMap, camada.name, { | |
222 | - "radius" : camada.plugini3geo.parametros.radius, | |
223 | - "visible" : true, | |
224 | - "opacity" : camada.transparency, | |
225 | - "gradient" : heatmap_config.gradient, | |
226 | - "legend" : { | |
227 | - "title" : camada.tema, | |
228 | - "position" : "bl", | |
229 | - "offset" : [ | |
230 | - 5, | |
231 | - 50 | |
232 | - ] | |
233 | - } | |
234 | - }); | |
235 | - // i3GeoMap.overlayMapTypes.insertAt(0, heatmap); | |
236 | - pontos = { | |
237 | - max : camada.plugini3geo.parametros.max, | |
238 | - data : heatmap_dados | |
239 | - }; | |
240 | - i3GEO.janela.fechaAguarde("aguardePlugin"); | |
241 | - heatmap.setDataSet(pontos); | |
242 | - heatmap.ligaCamada = function() { | |
243 | - this.liga(); | |
244 | - }; | |
245 | - heatmap.desLigaCamada = function() { | |
246 | - this.desliga(); | |
247 | - }; | |
248 | - heatmap.removeCamada = function() { | |
249 | - this.destroy(); | |
250 | - }; | |
251 | - heatmap.atualizaCamada = function() { | |
252 | - this.draw(); | |
253 | - }; | |
254 | - i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap; | |
255 | - heatmap_dados = null; | |
241 | + heatmap = new HeatmapOverlay(i3GeoMap, camada.name, { | |
242 | + "radius" : camada.plugini3geo.parametros.radius, | |
243 | + "visible" : true, | |
244 | + "opacity" : camada.transparency, | |
245 | + "gradient" : heatmap_config.gradient, | |
246 | + "legend" : { | |
247 | + "title" : camada.tema, | |
248 | + "position" : "bl", | |
249 | + "offset" : [ | |
250 | + 5, 50 | |
251 | + ] | |
252 | + } | |
253 | + }); | |
254 | + // i3GeoMap.overlayMapTypes.insertAt(0, heatmap); | |
255 | + pontos = { | |
256 | + max : camada.plugini3geo.parametros.max, | |
257 | + data : heatmap_dados | |
256 | 258 | }; |
257 | - // se o script nao existir carrega o codigo e os dados | |
258 | - // caso contrario, carrega apenas os dados no script | |
259 | - if (!$i(nomeScript)) { | |
260 | - carregaJs = "sim"; | |
261 | - } else { | |
262 | - nomeScript = ""; | |
263 | - } | |
264 | - p += | |
265 | - "?carregajs=" + carregaJs + "&layer=" + camada.name + "&coluna=" + camada.plugini3geo.parametros.coluna | |
266 | - + "&tipoGradiente=" + camada.plugini3geo.parametros.tipoGradiente + "&g_sid=" + i3GEO.configura.sid | |
267 | - + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config"; | |
268 | - i3GEO.util.scriptTag(p, criaLayer, nomeScript); | |
259 | + i3GEO.janela.fechaAguarde("aguardePlugin"); | |
260 | + heatmap.setDataSet(pontos); | |
261 | + heatmap.ligaCamada = function() { | |
262 | + this.liga(); | |
263 | + }; | |
264 | + heatmap.desLigaCamada = function() { | |
265 | + this.desliga(); | |
266 | + }; | |
267 | + heatmap.removeCamada = function() { | |
268 | + this.destroy(); | |
269 | + }; | |
270 | + heatmap.atualizaCamada = function() { | |
271 | + this.draw(); | |
272 | + }; | |
273 | + i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap; | |
274 | + heatmap_dados = null; | |
275 | + }; | |
276 | + // se o script nao existir carrega o codigo e os dados | |
277 | + // caso contrario, carrega apenas os dados no script | |
278 | + if (!$i(nomeScript)) { | |
279 | + carregaJs = "sim"; | |
280 | + } else { | |
281 | + nomeScript = ""; | |
269 | 282 | } |
283 | + p += "?carregajs=" | |
284 | + + carregaJs | |
285 | + + "&layer=" | |
286 | + + camada.name | |
287 | + + "&coluna=" | |
288 | + + camada.plugini3geo.parametros.coluna | |
289 | + + "&tipoGradiente=" | |
290 | + + camada.plugini3geo.parametros.tipoGradiente | |
291 | + + "&g_sid=" | |
292 | + + i3GEO.configura.sid | |
293 | + + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config"; | |
294 | + i3GEO.util.scriptTag( | |
295 | + p, | |
296 | + criaLayer, | |
297 | + nomeScript); | |
298 | + } | |
299 | + }, | |
300 | + // | |
301 | + // O script que adiciona a camada | |
302 | + // define os eventos visibilitychanged, moveend e removed | |
303 | + // A camada e adicionada como um objeto layer, permitindo que as funcoes | |
304 | + // do i3Geo operem normalmente, sem muitas modificacoes | |
305 | + // | |
306 | + openlayers : { | |
307 | + aplicaPropriedades : function(camada) { | |
308 | + camada.sel = "nao"; | |
309 | + camada.download = "nao"; | |
310 | + camada.AGUARDALEGENDA = false; | |
311 | + camada.temporizador = ""; | |
312 | + camada.copia = false; | |
313 | + camada.procurar = false; | |
314 | + camada.toponimia = false; | |
315 | + camada.etiquetas = false; | |
316 | + camada.tabela = false; | |
317 | + camada.grafico = false; | |
318 | + camada.destacar = false; | |
319 | + camada.wms = false; | |
320 | + camada.classe = "NAO"; | |
321 | + return camada; | |
270 | 322 | }, |
271 | - // | |
272 | - // O script que adiciona a camada | |
273 | - // define os eventos visibilitychanged, moveend e removed | |
274 | - // A camada e adicionada como um objeto layer, permitindo que as funcoes | |
275 | - // do i3Geo operem normalmente, sem muitas modificacoes | |
276 | - // | |
277 | - openlayers : { | |
278 | - aplicaPropriedades : function(camada) { | |
279 | - camada.sel = "nao"; | |
280 | - camada.download = "nao"; | |
281 | - camada.AGUARDALEGENDA = false; | |
282 | - camada.temporizador = ""; | |
283 | - camada.copia = false; | |
284 | - camada.procurar = false; | |
285 | - camada.toponimia = false; | |
286 | - camada.etiquetas = false; | |
287 | - camada.tabela = false; | |
288 | - camada.grafico = false; | |
289 | - camada.destacar = false; | |
290 | - camada.wms = false; | |
291 | - camada.classe = "NAO"; | |
292 | - return camada; | |
293 | - }, | |
294 | - inicia : function(camada, objMapa) { | |
295 | - var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php", carregaJs = | |
296 | - "nao", criaLayer; | |
297 | - criaLayer = function() { | |
298 | - var temp, heatmap, transformedTestData = { | |
299 | - max : 1, | |
300 | - data : [] | |
301 | - }, data = heatmap_dados, datalen = heatmap_dados.length, nudata = [], max = 0; | |
323 | + inicia : function(camada, objMapa) { | |
324 | + var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic | |
325 | + + "/ferramentas/heatmap/openlayers_js.php", carregaJs = "nao", criaLayer; | |
326 | + criaLayer = function() { | |
327 | + var temp, heatmap, transformedTestData = { | |
328 | + max : 1, | |
329 | + data : [] | |
330 | + }, data = heatmap_dados, datalen = heatmap_dados.length, nudata = [], max = 0; | |
302 | 331 | |
303 | - // para uso com o mashup | |
304 | - if (!objMapa) { | |
305 | - objMapa = i3geoOL; | |
306 | - } | |
307 | - // in order to use the OpenLayers Heatmap Layer we have | |
308 | - // to | |
309 | - // transform our data into | |
310 | - // { max: <max>, data: [{lonlat: <OpenLayers.LonLat>, | |
311 | - // count: | |
312 | - // <count>},...]} | |
313 | - while (datalen--) { | |
314 | - temp = heatmap_dados[datalen].count; | |
315 | - nudata.push({ | |
316 | - lonlat : new OpenLayers.LonLat(data[datalen].lng, heatmap_dados[datalen].lat), | |
317 | - count : temp | |
318 | - }); | |
319 | - max = Math.max(max, temp); | |
320 | - } | |
321 | - transformedTestData.max = max; | |
322 | - transformedTestData.data = nudata; | |
323 | - // create our heatmap layer | |
324 | - heatmap = new OpenLayers.Layer.Heatmap(camada.name, objMapa, objMapa.baseLayer, { | |
325 | - "visible" : true, | |
326 | - "opacity" : camada.transparency, | |
327 | - "radius" : camada.plugini3geo.parametros.radius, | |
328 | - "gradient" : heatmap_config.gradient, | |
329 | - "legend" : { | |
330 | - "title" : camada.tema, | |
331 | - "position" : "bl", | |
332 | - "offset" : [ | |
333 | - 5, | |
334 | - 50 | |
335 | - ] | |
336 | - } | |
337 | - }, { | |
338 | - isBaseLayer : false, | |
339 | - projection : new OpenLayers.Projection("EPSG:4326"), | |
340 | - displayInLayerSwitcher : true | |
332 | + // para uso com o mashup | |
333 | + if (!objMapa) { | |
334 | + objMapa = i3geoOL; | |
335 | + } | |
336 | + // in order to use the OpenLayers Heatmap Layer we have | |
337 | + // to | |
338 | + // transform our data into | |
339 | + // { max: <max>, data: [{lonlat: <OpenLayers.LonLat>, | |
340 | + // count: | |
341 | + // <count>},...]} | |
342 | + while (datalen--) { | |
343 | + temp = heatmap_dados[datalen].count; | |
344 | + nudata.push({ | |
345 | + lonlat : new OpenLayers.LonLat(data[datalen].lng, heatmap_dados[datalen].lat), | |
346 | + count : temp | |
341 | 347 | }); |
342 | - heatmap.ligaCamada = function() { | |
343 | - this.toggle(); | |
344 | - this.updateLayer(); | |
345 | - }; | |
346 | - heatmap.desLigaCamada = function() { | |
347 | - this.toggle(); | |
348 | - this.updateLayer(); | |
349 | - }; | |
350 | - heatmap.removeCamada = function() { | |
351 | - this.destroy(); | |
352 | - }; | |
353 | - heatmap.atualizaCamada = function() { | |
354 | - this.updateLayer(); | |
355 | - }; | |
356 | - | |
357 | - i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap; | |
358 | - objMapa.addLayer(heatmap); | |
359 | - heatmap.setDataSet(transformedTestData); | |
360 | - heatmap_dados = null; | |
361 | - if (i3GEO.janela) { | |
362 | - i3GEO.janela.fechaAguarde("aguardePlugin"); | |
348 | + max = Math.max( | |
349 | + max, | |
350 | + temp); | |
351 | + } | |
352 | + transformedTestData.max = max; | |
353 | + transformedTestData.data = nudata; | |
354 | + // create our heatmap layer | |
355 | + heatmap = new OpenLayers.Layer.Heatmap(camada.name, objMapa, objMapa.baseLayer, { | |
356 | + "visible" : true, | |
357 | + "opacity" : camada.transparency, | |
358 | + "radius" : camada.plugini3geo.parametros.radius, | |
359 | + "gradient" : heatmap_config.gradient, | |
360 | + "legend" : { | |
361 | + "title" : camada.tema, | |
362 | + "position" : "bl", | |
363 | + "offset" : [ | |
364 | + 5, 50 | |
365 | + ] | |
363 | 366 | } |
367 | + }, { | |
368 | + isBaseLayer : false, | |
369 | + projection : new OpenLayers.Projection("EPSG:4326"), | |
370 | + displayInLayerSwitcher : true | |
371 | + }); | |
372 | + heatmap.ligaCamada = function() { | |
373 | + this.toggle(); | |
374 | + this.updateLayer(); | |
364 | 375 | }; |
365 | - // se o script nao existir carrega o codigo e os dados | |
366 | - // caso contrario, carrega apenas os dados no script | |
367 | - if (!$i(nomeScript)) { | |
368 | - carregaJs = "sim"; | |
369 | - } else { | |
370 | - nomeScript = ""; | |
371 | - } | |
372 | - if (!i3GEO.configura || !i3GEO.configura.sid) { | |
373 | - i3GEO.configura.sid = ""; | |
376 | + heatmap.desLigaCamada = function() { | |
377 | + this.toggle(); | |
378 | + this.updateLayer(); | |
379 | + }; | |
380 | + heatmap.removeCamada = function() { | |
381 | + this.destroy(); | |
382 | + }; | |
383 | + heatmap.atualizaCamada = function() { | |
384 | + this.updateLayer(); | |
385 | + }; | |
386 | + | |
387 | + i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap; | |
388 | + objMapa.addLayer(heatmap); | |
389 | + heatmap.setDataSet(transformedTestData); | |
390 | + heatmap_dados = null; | |
391 | + if (i3GEO.janela) { | |
392 | + i3GEO.janela.fechaAguarde("aguardePlugin"); | |
374 | 393 | } |
375 | - p += | |
376 | - "?carregajs=" + carregaJs + "&layer=" + camada.name + "&coluna=" + camada.plugini3geo.parametros.coluna | |
377 | - + "&tipoGradiente=" + camada.plugini3geo.parametros.tipoGradiente + "&g_sid=" + i3GEO.configura.sid | |
378 | - + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config"; | |
379 | - i3GEO.util.scriptTag(p, criaLayer, nomeScript); | |
394 | + }; | |
395 | + // se o script nao existir carrega o codigo e os dados | |
396 | + // caso contrario, carrega apenas os dados no script | |
397 | + if (!$i(nomeScript)) { | |
398 | + carregaJs = "sim"; | |
399 | + } else { | |
400 | + nomeScript = ""; | |
380 | 401 | } |
381 | - }, | |
382 | - googleearth : { | |
383 | - inicia : function() { | |
384 | - alert("Plugin nao disponivel"); | |
402 | + if (!i3GEO.configura | |
403 | + || !i3GEO.configura.sid) { | |
404 | + i3GEO.configura.sid = ""; | |
385 | 405 | } |
406 | + p += "?carregajs=" | |
407 | + + carregaJs | |
408 | + + "&layer=" | |
409 | + + camada.name | |
410 | + + "&coluna=" | |
411 | + + camada.plugini3geo.parametros.coluna | |
412 | + + "&tipoGradiente=" | |
413 | + + camada.plugini3geo.parametros.tipoGradiente | |
414 | + + "&g_sid=" | |
415 | + + i3GEO.configura.sid | |
416 | + + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config"; | |
417 | + i3GEO.util.scriptTag( | |
418 | + p, | |
419 | + criaLayer, | |
420 | + nomeScript); | |
386 | 421 | } |
387 | 422 | }, |
388 | - /** | |
389 | - * Function: markercluster | |
390 | - * | |
391 | - * Markercluster | |
392 | - * | |
393 | - * Gera um layer que agrupa pontos conforme a distância entre eles e insere um contador adiciona ao mapa | |
394 | - * | |
395 | - * As dependências em javascript sao carregadas via script tag por meio de ferramentas/markercluster | |
396 | - * | |
397 | - * Esse programa também obtém os dados necessários ao plugin | |
398 | - * | |
399 | - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO | |
400 | - * | |
401 | - * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin | |
402 | - * | |
403 | - * Exemplo: | |
404 | - * | |
405 | - * "PLUGINI3GEO" '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}' | |
406 | - * | |
407 | - * Coluna é a que contém os dados numéricos que definem a quantidade de uma medida em cada ponto e é | |
408 | - * usada para gerar a representação. Se for vazia, considera-se o valor como 1 | |
409 | - * | |
410 | - */ | |
411 | - markercluster : { | |
412 | - linkAjuda : function() { | |
413 | - return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; | |
414 | - }, | |
415 | - formAdmin : function(config) { | |
416 | - var parametros, ins = "", configDefault = | |
417 | - '{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}'; | |
418 | - if (config === "") { | |
419 | - config = configDefault; | |
420 | - } | |
421 | - config = YAHOO.lang.JSON.parse(config); | |
422 | - if (config.plugin != "markercluster") { | |
423 | - config = YAHOO.lang.JSON.parse(configDefault); | |
424 | - } | |
425 | - parametros = config.parametros; | |
426 | - ins += | |
427 | - "" | |
428 | - + "<p>Distância máxima entre ponto em pixels:" | |
429 | - + "<br><input name='gridSize' type='text' value='" | |
430 | - + parametros.gridSize | |
431 | - + "' size='30'></p>" | |
432 | - + "<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):" | |
433 | - + "<br><input name='tipoEstilos' type='text' value='" + parametros.tipoEstilos + "' size='30'></p>" | |
434 | - + "<p>Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>" | |
435 | - + "<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>"; | |
423 | + googleearth : { | |
424 | + inicia : function() { | |
425 | + alert("Plugin nao disponivel"); | |
426 | + } | |
427 | + } | |
428 | + }, | |
429 | + /** | |
430 | + * Function: markercluster | |
431 | + * | |
432 | + * Markercluster | |
433 | + * | |
434 | + * Gera um layer que agrupa pontos conforme a distância entre eles e | |
435 | + * insere um contador adiciona ao mapa | |
436 | + * | |
437 | + * As dependências em javascript sao carregadas via script tag por | |
438 | + * meio de ferramentas/markercluster | |
439 | + * | |
440 | + * Esse programa também obtém os dados necessários ao | |
441 | + * plugin | |
442 | + * | |
443 | + * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO | |
444 | + * | |
445 | + * Esse matadado deve conter uma string que será transformada em um | |
446 | + * objeto javascript para uso no plugin | |
447 | + * | |
448 | + * Exemplo: | |
449 | + * | |
450 | + * "PLUGINI3GEO" | |
451 | + * '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}' | |
452 | + * | |
453 | + * Coluna é a que contém os dados numéricos que definem | |
454 | + * a quantidade de uma medida em cada ponto e é usada para gerar a | |
455 | + * representação. Se for vazia, considera-se o valor como 1 | |
456 | + * | |
457 | + */ | |
458 | + markercluster : { | |
459 | + linkAjuda : function() { | |
460 | + return i3GEO.configura.locaplic | |
461 | + + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; | |
462 | + }, | |
463 | + formAdmin : function(config) { | |
464 | + var parametros, ins = "", configDefault = '{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}'; | |
465 | + if (config === "") { | |
466 | + config = configDefault; | |
467 | + } | |
468 | + config = YAHOO.lang.JSON.parse(config); | |
469 | + if (config.plugin != "markercluster") { | |
470 | + config = YAHOO.lang.JSON.parse(configDefault); | |
471 | + } | |
472 | + parametros = config.parametros; | |
473 | + ins += "" | |
474 | + + "<p>Distância máxima entre ponto em pixels:" | |
475 | + + "<br><input name='gridSize' type='text' value='" | |
476 | + + parametros.gridSize | |
477 | + + "' size='30'></p>" | |
478 | + + "<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):" | |
479 | + + "<br><input name='tipoEstilos' type='text' value='" | |
480 | + + parametros.tipoEstilos | |
481 | + + "' size='30'></p>" | |
482 | + + "<p>Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>" | |
483 | + + "<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>"; | |
436 | 484 | |
437 | - return ins; | |
485 | + return ins; | |
486 | + }, | |
487 | + googlemaps : { | |
488 | + aplicaPropriedades : function(camada) { | |
489 | + camada.sel = "nao"; | |
490 | + camada.download = "nao"; | |
491 | + camada.AGUARDALEGENDA = false; | |
492 | + camada.temporizador = ""; | |
493 | + camada.copia = false; | |
494 | + camada.procurar = false; | |
495 | + camada.toponimia = false; | |
496 | + camada.etiquetas = false; | |
497 | + camada.tabela = false; | |
498 | + camada.grafico = false; | |
499 | + camada.destacar = false; | |
500 | + camada.wms = false; | |
501 | + camada.classe = "NAO"; | |
502 | + return camada; | |
438 | 503 | }, |
439 | - googlemaps : { | |
440 | - aplicaPropriedades : function(camada) { | |
441 | - camada.sel = "nao"; | |
442 | - camada.download = "nao"; | |
443 | - camada.AGUARDALEGENDA = false; | |
444 | - camada.temporizador = ""; | |
445 | - camada.copia = false; | |
446 | - camada.procurar = false; | |
447 | - camada.toponimia = false; | |
448 | - camada.etiquetas = false; | |
449 | - camada.tabela = false; | |
450 | - camada.grafico = false; | |
451 | - camada.destacar = false; | |
452 | - camada.wms = false; | |
453 | - camada.classe = "NAO"; | |
454 | - return camada; | |
455 | - }, | |
456 | - inicia : function(camada) { | |
457 | - var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/googlemaps_js.php", carregaJs = | |
458 | - "nao", criaLayer; | |
459 | - criaLayer = function() { | |
460 | - var markercluster, marcas, latLng, marker, n, i; | |
461 | - n = markercluster_dados.length; | |
462 | - marcas = []; | |
463 | - for (i = 0; i < n; i++) { | |
464 | - latLng = new google.maps.LatLng(markercluster_dados[i].lat, markercluster_dados[i].lng); | |
465 | - marker = new google.maps.Marker({ | |
466 | - 'position' : latLng, | |
467 | - icon : { | |
468 | - url : markercluster_config.ponto.url, | |
469 | - scaledSize : new google.maps.Size(markercluster_config.ponto.width, markercluster_config.ponto.height) | |
470 | - } | |
471 | - }); | |
472 | - marcas.push(marker); | |
473 | - } | |
474 | - markercluster = new MarkerClusterer(i3GeoMap, marcas, { | |
475 | - "gridSize" : parseInt(camada.plugini3geo.parametros.gridSize, 10), | |
476 | - "visible" : true, | |
477 | - "opacity" : camada.transparency, | |
478 | - "name" : camada.name, | |
479 | - "styles" : markercluster_config.estilos | |
504 | + inicia : function(camada) { | |
505 | + var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic | |
506 | + + "/ferramentas/markercluster/googlemaps_js.php", carregaJs = "nao", criaLayer; | |
507 | + criaLayer = function() { | |
508 | + var markercluster, marcas, latLng, marker, n, i; | |
509 | + n = markercluster_dados.length; | |
510 | + marcas = []; | |
511 | + for (i = 0; i < n; i++) { | |
512 | + latLng = new google.maps.LatLng(markercluster_dados[i].lat, markercluster_dados[i].lng); | |
513 | + marker = new google.maps.Marker({ | |
514 | + 'position' : latLng, | |
515 | + icon : { | |
516 | + url : markercluster_config.ponto.url, | |
517 | + scaledSize : new google.maps.Size(markercluster_config.ponto.width, markercluster_config.ponto.height) | |
518 | + } | |
480 | 519 | }); |
481 | - i3GEO.janela.fechaAguarde("aguardePlugin"); | |
482 | - i3GEO.eventos.cliquePerm.ativo = false; | |
520 | + marcas.push(marker); | |
521 | + } | |
522 | + markercluster = new MarkerClusterer(i3GeoMap, marcas, { | |
523 | + "gridSize" : parseInt( | |
524 | + camada.plugini3geo.parametros.gridSize, | |
525 | + 10), | |
526 | + "visible" : true, | |
527 | + "opacity" : camada.transparency, | |
528 | + "name" : camada.name, | |
529 | + "styles" : markercluster_config.estilos | |
530 | + }); | |
531 | + i3GEO.janela.fechaAguarde("aguardePlugin"); | |
532 | + i3GEO.eventos.cliquePerm.ativo = false; | |
483 | 533 | |
484 | - markercluster.ligaCamada = function() { | |
485 | - i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true; | |
486 | - i3GEO.pluginI3geo.OBJETOS[camada.name].redraw(); | |
487 | - i3GEO.eventos.cliquePerm.ativo = false; | |
488 | - }; | |
489 | - markercluster.desLigaCamada = function() { | |
490 | - i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true); | |
491 | - i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = false; | |
492 | - i3GEO.eventos.cliquePerm.ativo = true; | |
493 | - }; | |
494 | - markercluster.removeCamada = function() { | |
495 | - i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers(); | |
496 | - i3GEO.eventos.cliquePerm.ativo = true; | |
497 | - }; | |
498 | - markercluster.atualizaCamada = function() { | |
499 | - i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true; | |
500 | - i3GEO.pluginI3geo.OBJETOS[camada.name].redraw(); | |
501 | - i3GEO.eventos.cliquePerm.ativo = false; | |
502 | - }; | |
503 | - i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster; | |
504 | - markercluster_dados = null; | |
534 | + markercluster.ligaCamada = function() { | |
535 | + i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true; | |
536 | + i3GEO.pluginI3geo.OBJETOS[camada.name].redraw(); | |
537 | + i3GEO.eventos.cliquePerm.ativo = false; | |
505 | 538 | }; |
506 | - // se o script nao existir carrega o codigo e os dados | |
507 | - // caso contrario, carrega apenas os dados no script | |
508 | - if (!$i(nomeScript)) { | |
509 | - carregaJs = "sim"; | |
510 | - } else { | |
511 | - nomeScript = ""; | |
512 | - } | |
513 | - p += | |
514 | - "?carregajs=" + carregaJs + "&layer=" + camada.name + "&g_sid=" + i3GEO.configura.sid + "&tipoEstilos=" | |
515 | - + camada.plugini3geo.parametros.tipoEstilos | |
516 | - + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config"; | |
517 | - i3GEO.util.scriptTag(p, criaLayer, nomeScript); | |
539 | + markercluster.desLigaCamada = function() { | |
540 | + i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true); | |
541 | + i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = false; | |
542 | + i3GEO.eventos.cliquePerm.ativo = true; | |
543 | + }; | |
544 | + markercluster.removeCamada = function() { | |
545 | + i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers(); | |
546 | + i3GEO.eventos.cliquePerm.ativo = true; | |
547 | + }; | |
548 | + markercluster.atualizaCamada = function() { | |
549 | + i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true; | |
550 | + i3GEO.pluginI3geo.OBJETOS[camada.name].redraw(); | |
551 | + i3GEO.eventos.cliquePerm.ativo = false; | |
552 | + }; | |
553 | + i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster; | |
554 | + markercluster_dados = null; | |
555 | + }; | |
556 | + // se o script nao existir carrega o codigo e os dados | |
557 | + // caso contrario, carrega apenas os dados no script | |
558 | + if (!$i(nomeScript)) { | |
559 | + carregaJs = "sim"; | |
560 | + } else { | |
561 | + nomeScript = ""; | |
518 | 562 | } |
563 | + p += "?carregajs=" | |
564 | + + carregaJs | |
565 | + + "&layer=" | |
566 | + + camada.name | |
567 | + + "&g_sid=" | |
568 | + + i3GEO.configura.sid | |
569 | + + "&tipoEstilos=" | |
570 | + + camada.plugini3geo.parametros.tipoEstilos | |
571 | + + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config"; | |
572 | + i3GEO.util.scriptTag( | |
573 | + p, | |
574 | + criaLayer, | |
575 | + nomeScript); | |
576 | + } | |
577 | + }, | |
578 | + openlayers : { | |
579 | + aplicaPropriedades : function(camada) { | |
580 | + camada.sel = "nao"; | |
581 | + camada.download = "nao"; | |
582 | + camada.AGUARDALEGENDA = false; | |
583 | + camada.temporizador = ""; | |
584 | + camada.copia = false; | |
585 | + camada.procurar = false; | |
586 | + camada.toponimia = false; | |
587 | + camada.etiquetas = false; | |
588 | + camada.tabela = false; | |
589 | + camada.grafico = false; | |
590 | + camada.destacar = false; | |
591 | + camada.wms = false; | |
592 | + camada.classe = "NAO"; | |
593 | + return camada; | |
519 | 594 | }, |
520 | - openlayers : { | |
521 | - aplicaPropriedades : function(camada) { | |
522 | - camada.sel = "nao"; | |
523 | - camada.download = "nao"; | |
524 | - camada.AGUARDALEGENDA = false; | |
525 | - camada.temporizador = ""; | |
526 | - camada.copia = false; | |
527 | - camada.procurar = false; | |
528 | - camada.toponimia = false; | |
529 | - camada.etiquetas = false; | |
530 | - camada.tabela = false; | |
531 | - camada.grafico = false; | |
532 | - camada.destacar = false; | |
533 | - camada.wms = false; | |
534 | - camada.classe = "NAO"; | |
535 | - return camada; | |
536 | - }, | |
537 | - inicia : function(camada, objMapa) { | |
538 | - var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/openlayers_js.php", carregaJs = | |
539 | - "nao", criaLayer; | |
540 | - criaLayer = | |
541 | - function() { | |
542 | - var logMax, logMin, classes, min, max, markercluster, marcas, lonlat, n, i, style, nestilos, intervalo, regra, regras = | |
543 | - []; | |
544 | - | |
545 | - nestilos = markercluster_config.estilos.length; | |
546 | - n = markercluster_dados.length; | |
595 | + inicia : function(camada, objMapa) { | |
596 | + var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic | |
597 | + + "/ferramentas/markercluster/openlayers_js.php", carregaJs = "nao", criaLayer; | |
598 | + criaLayer = function() { | |
599 | + var layerListeners, logMax, logMin, classes, min, max, markercluster, marcas, lonlat, n, i, style, nestilos, intervalo, regra, regras = []; | |
547 | 600 | |
601 | + nestilos = markercluster_config.estilos.length; | |
602 | + n = markercluster_dados.length; | |
548 | 603 | |
549 | - classes = Array(); | |
550 | - logMax = Math.log(n) / Math.LN10; // max decimal logarithm (or base 10) | |
551 | - logMin = Math.log(1) / Math.LN10; | |
552 | - intervalo = (logMax - logMin) / nestilos; | |
553 | - // we compute log bounds | |
554 | - for (i = 0; i < nestilos; i++) { | |
555 | - if (i == 0) { | |
556 | - classes[i] = logMin; | |
557 | - } else { | |
558 | - classes[i] = classes[i - 1] + intervalo; | |
559 | - } | |
560 | - } | |
561 | - // we compute antilog | |
562 | - classes = classes.map(function(x) { | |
563 | - return Math.pow(10, x); | |
564 | - }); | |
565 | - // and we finally add max value | |
566 | - classes.push(n); | |
604 | + classes = Array(); | |
605 | + logMax = Math.log(n) | |
606 | + / Math.LN10; // max decimal logarithm (or base | |
607 | + // 10) | |
608 | + logMin = Math.log(1) | |
609 | + / Math.LN10; | |
610 | + intervalo = (logMax - logMin) | |
611 | + / nestilos; | |
612 | + // we compute log bounds | |
613 | + for (i = 0; i < nestilos; i++) { | |
614 | + if (i == 0) { | |
615 | + classes[i] = logMin; | |
616 | + } else { | |
617 | + classes[i] = classes[i - 1] | |
618 | + + intervalo; | |
619 | + } | |
620 | + } | |
621 | + // we compute antilog | |
622 | + classes = classes.map(function(x) { | |
623 | + return Math.pow( | |
624 | + 10, | |
625 | + x); | |
626 | + }); | |
627 | + // and we finally add max value | |
628 | + classes.push(n); | |
567 | 629 | |
568 | - // ponto sozinho | |
569 | - regra = new OpenLayers.Rule({ | |
570 | - filter : new OpenLayers.Filter.Comparison({ | |
571 | - type : OpenLayers.Filter.Comparison.LESS_THAN, | |
572 | - property : "count", | |
573 | - value : 2 | |
574 | - }), | |
575 | - symbolizer : { | |
576 | - externalGraphic : markercluster_config.ponto.url, | |
577 | - graphicWidth : markercluster_config.ponto.width, | |
578 | - graphicHeight : markercluster_config.ponto.height, | |
579 | - graphicYOffset: (markercluster_config.ponto.height / 2) * -1 | |
580 | - } | |
581 | - }); | |
582 | - regras.push(regra); | |
583 | - min = 2; | |
584 | - for (i = 0; i < nestilos; i++) { | |
585 | - max = classes[i + 1]; | |
586 | - regra = new OpenLayers.Rule({ | |
587 | - filter : new OpenLayers.Filter.Comparison({ | |
588 | - type : OpenLayers.Filter.Comparison.BETWEEN, | |
589 | - property : "count", | |
590 | - lowerBoundary : min, | |
591 | - upperBoundary : max | |
592 | - }), | |
593 | - symbolizer : { | |
594 | - externalGraphic : markercluster_config.estilos[i].url, | |
595 | - graphicWidth : markercluster_config.estilos[i].width, | |
596 | - graphicHeight : markercluster_config.estilos[i].height, | |
597 | - label : "${count}", | |
598 | - labelOutlineWidth : 1, | |
599 | - fontColor : "#000000", | |
600 | - fontOpacity : 1, | |
601 | - fontSize : "12px" | |
602 | - } | |
603 | - }); | |
604 | - regras.push(regra); | |
605 | - min = max; | |
630 | + // ponto sozinho | |
631 | + regra = new OpenLayers.Rule({ | |
632 | + filter : new OpenLayers.Filter.Comparison({ | |
633 | + type : OpenLayers.Filter.Comparison.LESS_THAN, | |
634 | + property : "count", | |
635 | + value : 2 | |
636 | + }), | |
637 | + symbolizer : { | |
638 | + externalGraphic : markercluster_config.ponto.url, | |
639 | + graphicWidth : markercluster_config.ponto.width, | |
640 | + graphicHeight : markercluster_config.ponto.height, | |
641 | + graphicYOffset : (markercluster_config.ponto.height / 2) | |
642 | + * -1 | |
643 | + } | |
644 | + }); | |
645 | + regras.push(regra); | |
646 | + min = 2; | |
647 | + for (i = 0; i < nestilos; i++) { | |
648 | + max = classes[i + 1]; | |
649 | + regra = new OpenLayers.Rule({ | |
650 | + filter : new OpenLayers.Filter.Comparison({ | |
651 | + type : OpenLayers.Filter.Comparison.BETWEEN, | |
652 | + property : "count", | |
653 | + lowerBoundary : min, | |
654 | + upperBoundary : max | |
655 | + }), | |
656 | + symbolizer : { | |
657 | + externalGraphic : markercluster_config.estilos[i].url, | |
658 | + graphicWidth : markercluster_config.estilos[i].width, | |
659 | + graphicHeight : markercluster_config.estilos[i].height, | |
660 | + label : "${count}", | |
661 | + labelOutlineWidth : 1, | |
662 | + fontColor : "#000000", | |
663 | + fontOpacity : 1, | |
664 | + fontSize : "12px" | |
606 | 665 | } |
666 | + }); | |
667 | + regras.push(regra); | |
668 | + min = max; | |
669 | + } | |
607 | 670 | |
608 | - // Create a Style that uses the three previous rules | |
609 | - style = new OpenLayers.Style(null, { | |
610 | - rules : regras | |
611 | - }); | |
612 | - | |
613 | - markercluster = new OpenLayers.Layer.Vector(camada.name, { | |
614 | - renderers : [ | |
615 | - 'Canvas', | |
616 | - 'SVG' | |
617 | - ], | |
618 | - strategies : [ | |
619 | - new OpenLayers.Strategy.AnimatedCluster({ | |
620 | - distance : parseInt(camada.plugini3geo.parametros.gridSize, 10) | |
621 | - }) | |
622 | - ], | |
623 | - styleMap : new OpenLayers.StyleMap(style) | |
624 | - }); | |
625 | - // para uso com o mashup | |
626 | - if (!objMapa) { | |
627 | - objMapa = i3geoOL; | |
628 | - } | |
629 | - objMapa.addLayer(markercluster); | |
671 | + // Create a Style that uses the three previous rules | |
672 | + style = new OpenLayers.Style(null, { | |
673 | + rules : regras | |
674 | + }); | |
675 | + // para uso com o mashup | |
676 | + if (!objMapa) { | |
677 | + objMapa = i3geoOL; | |
678 | + } | |
630 | 679 | |
631 | - marcas = []; | |
632 | - for (i = 0; i < n; i++) { | |
633 | - lonlat = new OpenLayers.LonLat(markercluster_dados[i].lng, markercluster_dados[i].lat); | |
634 | - if (i3GEO.Interface.openlayers.googleLike === true) { | |
635 | - lonlat.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913")); | |
636 | - } | |
637 | - marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat))); | |
680 | + layerListeners = { | |
681 | + featureclick : function(e) { | |
682 | + if (e.feature.cluster.length > 1) { | |
683 | + objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom() + 1,false,false); | |
684 | + //objMapa.zoomIn(); | |
638 | 685 | } |
639 | - markercluster.addFeatures(marcas); | |
686 | + return false; | |
687 | + } | |
688 | + }; | |
640 | 689 | |
641 | - i3GEO.janela.fechaAguarde("aguardePlugin"); | |
642 | - i3GEO.eventos.cliquePerm.ativo = false; | |
690 | + markercluster = new OpenLayers.Layer.Vector(camada.name, { | |
691 | + renderers : [ | |
692 | + 'Canvas', 'SVG' | |
693 | + ], | |
694 | + strategies : [ | |
695 | + new OpenLayers.Strategy.AnimatedCluster({ | |
696 | + distance : parseInt( | |
697 | + camada.plugini3geo.parametros.gridSize, | |
698 | + 10) | |
699 | + }) | |
700 | + ], | |
701 | + styleMap : new OpenLayers.StyleMap(style), | |
702 | + eventListeners : layerListeners | |
703 | + }); | |
704 | + objMapa.addLayer(markercluster); | |
643 | 705 | |
644 | - markercluster.ligaCamada = function() { | |
645 | - i3GEO.eventos.cliquePerm.ativo = false; | |
646 | - }; | |
647 | - markercluster.desLigaCamada = function() { | |
648 | - i3GEO.eventos.cliquePerm.ativo = true; | |
649 | - }; | |
650 | - markercluster.removeCamada = function() { | |
651 | - i3GEO.eventos.cliquePerm.ativo = true; | |
652 | - }; | |
653 | - markercluster.atualizaCamada = function() { | |
654 | - i3GEO.eventos.cliquePerm.ativo = false; | |
655 | - }; | |
656 | - i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster; | |
657 | - markercluster_dados = null; | |
658 | - }; | |
659 | - // se o script nao existir carrega o codigo e os dados | |
660 | - // caso contrario, carrega apenas os dados no script | |
661 | - if (!$i(nomeScript)) { | |
662 | - carregaJs = "sim"; | |
663 | - } else { | |
664 | - nomeScript = ""; | |
706 | + marcas = []; | |
707 | + for (i = 0; i < n; i++) { | |
708 | + lonlat = new OpenLayers.LonLat(markercluster_dados[i].lng, markercluster_dados[i].lat); | |
709 | + if (i3GEO.Interface.openlayers.googleLike === true) { | |
710 | + lonlat.transform( | |
711 | + new OpenLayers.Projection("EPSG:4326"), | |
712 | + new OpenLayers.Projection("EPSG:900913")); | |
713 | + } | |
714 | + marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat))); | |
665 | 715 | } |
666 | - p += | |
667 | - "?carregajs=" + carregaJs + "&layer=" + camada.name + "&g_sid=" + i3GEO.configura.sid + "&tipoEstilos=" | |
668 | - + camada.plugini3geo.parametros.tipoEstilos | |
669 | - + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config"; | |
670 | - i3GEO.util.scriptTag(p, criaLayer, nomeScript); | |
716 | + markercluster.addFeatures(marcas); | |
717 | + | |
718 | + i3GEO.janela.fechaAguarde("aguardePlugin"); | |
719 | + i3GEO.eventos.cliquePerm.ativo = false; | |
720 | + | |
721 | + markercluster.ligaCamada = function() { | |
722 | + i3GEO.eventos.cliquePerm.ativo = false; | |
723 | + }; | |
724 | + markercluster.desLigaCamada = function() { | |
725 | + i3GEO.eventos.cliquePerm.ativo = true; | |
726 | + }; | |
727 | + markercluster.removeCamada = function() { | |
728 | + i3GEO.eventos.cliquePerm.ativo = true; | |
729 | + }; | |
730 | + markercluster.atualizaCamada = function() { | |
731 | + i3GEO.eventos.cliquePerm.ativo = false; | |
732 | + }; | |
733 | + i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster; | |
734 | + markercluster_dados = null; | |
735 | + }; | |
736 | + // se o script nao existir carrega o codigo e os dados | |
737 | + // caso contrario, carrega apenas os dados no script | |
738 | + if (!$i(nomeScript)) { | |
739 | + carregaJs = "sim"; | |
740 | + } else { | |
741 | + nomeScript = ""; | |
671 | 742 | } |
743 | + p += "?carregajs=" | |
744 | + + carregaJs | |
745 | + + "&layer=" | |
746 | + + camada.name | |
747 | + + "&g_sid=" | |
748 | + + i3GEO.configura.sid | |
749 | + + "&tipoEstilos=" | |
750 | + + camada.plugini3geo.parametros.tipoEstilos | |
751 | + + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config"; | |
752 | + i3GEO.util.scriptTag( | |
753 | + p, | |
754 | + criaLayer, | |
755 | + nomeScript); | |
672 | 756 | } |
673 | 757 | } |
674 | - }; | |
675 | 758 | \ No newline at end of file |
759 | + } | |
760 | +}; | |
676 | 761 | \ No newline at end of file | ... | ... |
classesjs/compactados/classe_plugini3geo_compacto.js
1 | -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que contém os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor numérico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Distância máxima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style)});if(!objMapa){objMapa=i3geoOL}objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}}}; | |
2 | 1 | \ No newline at end of file |
2 | +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que contém os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor numérico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Distância máxima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var layerListeners,logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});if(!objMapa){objMapa=i3geoOL}layerListeners={featureclick:function(e){if(e.feature.cluster.length>1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}}}; | |
3 | 3 | \ No newline at end of file | ... | ... |
classesjs/i3geo_tudo_compacto6.js
... | ... | @@ -397,7 +397,7 @@ if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.gadgets={PARAMETROS:{"mostraI |
397 | 397 | if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.social={curtirFacebook:function(url,tipo){if(tipo==="comtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&width=160&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:160px; height:21px;' allowTransparency='true'></iframe>"}if(tipo==="semtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:100px; height:21px;' allowTransparency='true'></iframe>"}},publicarTwitter:function(url,tipo){var re=new RegExp("=","g");url=url.replace(re,'%3d');if(tipo==="comtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=horizontal&via=i3geo&url='+url+'" style="width:100px; height:21px;"></iframe>'}if(tipo==="semtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=none&via=i3geo&url='+url+'" style="width:65px; height:21px;"></iframe>'}},compartilhar:function(id,urlcf,urlpt,tipo,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}if(!tipo){tipo="comtotal"}var onde=$i(id),tabela="";if(tipo==="comtotal"){tabela+="<table style='width:250px' ><tr>"}if(tipo==="semtotal"){tabela+="<table style='width:115px' ><tr>"}if(onde||id===""){if(urlpt!==""){tabela+="<td>"+i3GEO.social.publicarTwitter(urlpt,tipo)+"</td>"}if(urlcf!==""){tabela+="<td>"+i3GEO.social.curtirFacebook(urlcf,tipo)+"</td>"}tabela+="</tr></table>";if(id!==""){onde.innerHTML=tabela}return tabela}else{return false}},bookmark:function(link,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}var ins="<img style='cursor:pointer' src='"+locaplic+"/imagens/delicious.gif' onclick='javascript:window.open(\"http://del.icio.us/post?url="+link+"\")' title='Delicious'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/digg.gif' onclick='javascript:window.open(\"http://digg.com/submit/post?url="+link+"\")' title='Digg'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/facebook.gif' onclick='javascript:window.open(\"http://www.facebook.com/sharer.php?u="+link+"\")' title='Facebook'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/stumbleupon.gif' onclick='javascript:window.open(\"http://www.stumbleupon.com/submit?url="+link+"\")' title='StumbleUpon'/>";return ins}}; |
398 | 398 | if(typeof(i3GEO)==='undefined'){var i3GEO={}}if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEONomeLogin",recarrega:false,funcaoLoginOk:null,funcaoLoginErro:null,dialogo:{abreLogin:function(locaplic){var js;if(!locaplic){locaplic=i3GEO.configura.locaplic}if(typeof(i3GEOF.loginusuario)==='undefined'){js=locaplic+"/ferramentas/loginusuario/index.js";i3GEO.util.scriptTag(js,"i3GEOF.loginusuario.criaJanelaFlutuante()","i3GEOF.loginusuario_script()")}else{i3GEOF.loginusuario.criaJanelaFlutuante()}},abreLogout:function(){var r=confirm($trad("x26"));if(r==true){i3GEO.login.anulaCookie();i3GEO.janela.destroi("i3GEOF.loginusuario");if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML=""}if(i3GEO.login.recarrega===true){document.location.reload()}if(i3GEO.parametros){i3GEO.parametros.editor="nao";i3GEO.arvoreDeTemas.atualiza()}}}},anulaCookie:function(){i3GEO.util.insereCookie("i3geocodigologin","",0);i3GEO.util.insereCookie("i3geousuariologin","",0);i3GEO.util.insereCookie("i3geousuarionome","",0);i3GEO.util.insereCookie("i3GeoLogin","",0)},verificaCookieLogin:function(){var a=i3GEO.util.pegaCookie("i3geocodigologin"),b=i3GEO.util.pegaCookie("i3geousuarionome");if(a&&b&&a!=""&&b!=""){return true}else{return false}},verificaOperacao:function(operacao,locaplic,funcaoOk,tipo,funcaoErro){var p="",cp,temp,resultado=true;if(!i3GEO.login.verificaCookieLogin()){if(!funcaoErro){alert("Login...!")}else{funcaoErro.call()}return false}if(!locaplic){locaplic=i3GEO.configura.locaplic}temp=function(retorno){if(retorno.data=="sim"){resultado=true}else{resultado=false}if(resultado===true){if(funcaoOk&&funcaoOk!=""){funcaoOk.call()}}else{if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML="";i3GEO.login.anulaCookie()}if(funcaoErro&&funcaoErro!=""&&resultado===false){funcaoErro.call()}}return resultado};if(tipo==="sessao"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaosessao"}if(tipo==="banco"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaobanco"}cp=new cpaint();cp.set_response_type("JSON");cp.set_transfer_mode("POST");cp.call(p,"login",temp,"&operacao="+operacao)},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:"Admin/Login",id:"i3GeoAdmin"});obj.submenus.i3GeoAdmin=[];obj.submenus.i3GeoAdmin.push({id:"omenudataAdminu1",text:"Login",url:"javascript:i3GEO.login.dialogo.abreLogin()"},{id:"omenudataAdminu2",text:"Logout",url:"javascript:i3GEO.login.dialogo.abreLogout()"},{id:"omenudataAdmin1",text:$trad("x1"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/index.html')"},{id:"omenudataAdmin2",text:$trad("g1a"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/html/arvore.html')"},{id:"omenudataAdmin3",text:$trad("x10"),url:"javascript:i3GEO.arvoreDeTemas.abrejanelaIframe('900','700','"+i3GEO.configura.locaplic+"/admin/html/menus.html\')"},{id:"omenudataAdmin4",text:$trad("t44"),url:"javascript:i3GEO.janela.tempoMsg($trad('x63'))"},{id:"omenudataAdmin5",text:$trad("x88"),url:"javascript:i3GEO.mapa.dialogo.preferencias()"});return obj}}; |
399 | 399 | if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={prompt:function(){i3GEO.janela.prompt($trad("x77"),i3GEO.marcador.armazena,"")},armazena:function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),ext=i3GEO.parametros.mapexten,nome="Marcador",valor;if($i("i3GEOjanelaprompt")){nome=$i("i3GEOjanelaprompt").value}valor=nome+"|"+ext;if(cookies){cookies+=":"}else{cookies=""}valor=cookies+valor;i3GEO.util.insereCookie("marcadoresDoI3Geo",valor,365);i3GEO.marcador.redesenha()},redesenha:function(){var m=i3GEOoMenuBar.getMenu("i3GeoMenuMarcador");m.clearContent();m.addItems(i3GEO.marcador.itensMenu());m.render()},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="<p class=paragrafo >"+$trad("x78")+"<br><br><input type=text value='"+c+"' size=37 />";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]!==nomeMarcador){novos.push(valores[i])}}i3GEO.util.insereCookie("marcadoresDoI3Geo",novos.join(":"),365);i3GEO.marcador.redesenha()},recuperaZoom:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]===nomeMarcador){i3GEO.navega.zoomExt("","","",temp[1]);return}}},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:$trad("x79"),id:"i3GeoMenuMarcador"});obj.submenus.i3GeoMenuMarcador=i3GEO.marcador.itensMenu();return obj},itensMenu:function(){var itens=[],cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores,n,i,temp;itens.push({id:"omenudataMarcadorSalva",text:$trad("x82"),url:"javascript:i3GEO.marcador.prompt()"},{id:"omenudataMarcadorExporta",text:$trad("x80"),url:"javascript:i3GEO.marcador.exporta()"},{id:"omenudataMarcadorImporta",text:$trad("x81"),url:"javascript:i3GEO.marcador.importa()"},{id:"omenudataMarcadorExportaShp",text:$trad("x84"),url:"javascript:i3GEO.marcador.exportaShp()"});if(cookie){valores=cookie.split(":");n=valores.length;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp.length===2){itens.push({id:"omenudataMarcador"+i,text:"<img src='"+i3GEO.configura.locaplic+"/imagens/visual/default/branco.gif' class=x onclick='i3GEO.marcador.remove(\""+temp[0]+"\")' /> <span style=color:blue>"+temp[0]+"</span>",url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')"})}}}return itens}}; |
400 | -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que contém os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor numérico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Distância máxima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style)});if(!objMapa){objMapa=i3geoOL}objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}}}; | |
400 | +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que contém os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor numérico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Distância máxima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var layerListeners,logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});if(!objMapa){objMapa=i3geoOL}layerListeners={featureclick:function(e){if(e.feature.cluster.length>1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}}}; | |
401 | 401 | /* |
402 | 402 | * euDock - javascript Emulation of Dock style MAC OS X bar |
403 | 403 | * | ... | ... |
classesjs/i3geo_tudo_compacto6.js.php
... | ... | @@ -397,7 +397,7 @@ if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.gadgets={PARAMETROS:{"mostraI |
397 | 397 | if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.social={curtirFacebook:function(url,tipo){if(tipo==="comtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&width=160&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:160px; height:21px;' allowTransparency='true'></iframe>"}if(tipo==="semtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:100px; height:21px;' allowTransparency='true'></iframe>"}},publicarTwitter:function(url,tipo){var re=new RegExp("=","g");url=url.replace(re,'%3d');if(tipo==="comtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=horizontal&via=i3geo&url='+url+'" style="width:100px; height:21px;"></iframe>'}if(tipo==="semtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=none&via=i3geo&url='+url+'" style="width:65px; height:21px;"></iframe>'}},compartilhar:function(id,urlcf,urlpt,tipo,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}if(!tipo){tipo="comtotal"}var onde=$i(id),tabela="";if(tipo==="comtotal"){tabela+="<table style='width:250px' ><tr>"}if(tipo==="semtotal"){tabela+="<table style='width:115px' ><tr>"}if(onde||id===""){if(urlpt!==""){tabela+="<td>"+i3GEO.social.publicarTwitter(urlpt,tipo)+"</td>"}if(urlcf!==""){tabela+="<td>"+i3GEO.social.curtirFacebook(urlcf,tipo)+"</td>"}tabela+="</tr></table>";if(id!==""){onde.innerHTML=tabela}return tabela}else{return false}},bookmark:function(link,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}var ins="<img style='cursor:pointer' src='"+locaplic+"/imagens/delicious.gif' onclick='javascript:window.open(\"http://del.icio.us/post?url="+link+"\")' title='Delicious'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/digg.gif' onclick='javascript:window.open(\"http://digg.com/submit/post?url="+link+"\")' title='Digg'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/facebook.gif' onclick='javascript:window.open(\"http://www.facebook.com/sharer.php?u="+link+"\")' title='Facebook'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/stumbleupon.gif' onclick='javascript:window.open(\"http://www.stumbleupon.com/submit?url="+link+"\")' title='StumbleUpon'/>";return ins}}; |
398 | 398 | if(typeof(i3GEO)==='undefined'){var i3GEO={}}if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEONomeLogin",recarrega:false,funcaoLoginOk:null,funcaoLoginErro:null,dialogo:{abreLogin:function(locaplic){var js;if(!locaplic){locaplic=i3GEO.configura.locaplic}if(typeof(i3GEOF.loginusuario)==='undefined'){js=locaplic+"/ferramentas/loginusuario/index.js";i3GEO.util.scriptTag(js,"i3GEOF.loginusuario.criaJanelaFlutuante()","i3GEOF.loginusuario_script()")}else{i3GEOF.loginusuario.criaJanelaFlutuante()}},abreLogout:function(){var r=confirm($trad("x26"));if(r==true){i3GEO.login.anulaCookie();i3GEO.janela.destroi("i3GEOF.loginusuario");if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML=""}if(i3GEO.login.recarrega===true){document.location.reload()}if(i3GEO.parametros){i3GEO.parametros.editor="nao";i3GEO.arvoreDeTemas.atualiza()}}}},anulaCookie:function(){i3GEO.util.insereCookie("i3geocodigologin","",0);i3GEO.util.insereCookie("i3geousuariologin","",0);i3GEO.util.insereCookie("i3geousuarionome","",0);i3GEO.util.insereCookie("i3GeoLogin","",0)},verificaCookieLogin:function(){var a=i3GEO.util.pegaCookie("i3geocodigologin"),b=i3GEO.util.pegaCookie("i3geousuarionome");if(a&&b&&a!=""&&b!=""){return true}else{return false}},verificaOperacao:function(operacao,locaplic,funcaoOk,tipo,funcaoErro){var p="",cp,temp,resultado=true;if(!i3GEO.login.verificaCookieLogin()){if(!funcaoErro){alert("Login...!")}else{funcaoErro.call()}return false}if(!locaplic){locaplic=i3GEO.configura.locaplic}temp=function(retorno){if(retorno.data=="sim"){resultado=true}else{resultado=false}if(resultado===true){if(funcaoOk&&funcaoOk!=""){funcaoOk.call()}}else{if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML="";i3GEO.login.anulaCookie()}if(funcaoErro&&funcaoErro!=""&&resultado===false){funcaoErro.call()}}return resultado};if(tipo==="sessao"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaosessao"}if(tipo==="banco"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaobanco"}cp=new cpaint();cp.set_response_type("JSON");cp.set_transfer_mode("POST");cp.call(p,"login",temp,"&operacao="+operacao)},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:"Admin/Login",id:"i3GeoAdmin"});obj.submenus.i3GeoAdmin=[];obj.submenus.i3GeoAdmin.push({id:"omenudataAdminu1",text:"Login",url:"javascript:i3GEO.login.dialogo.abreLogin()"},{id:"omenudataAdminu2",text:"Logout",url:"javascript:i3GEO.login.dialogo.abreLogout()"},{id:"omenudataAdmin1",text:$trad("x1"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/index.html')"},{id:"omenudataAdmin2",text:$trad("g1a"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/html/arvore.html')"},{id:"omenudataAdmin3",text:$trad("x10"),url:"javascript:i3GEO.arvoreDeTemas.abrejanelaIframe('900','700','"+i3GEO.configura.locaplic+"/admin/html/menus.html\')"},{id:"omenudataAdmin4",text:$trad("t44"),url:"javascript:i3GEO.janela.tempoMsg($trad('x63'))"},{id:"omenudataAdmin5",text:$trad("x88"),url:"javascript:i3GEO.mapa.dialogo.preferencias()"});return obj}}; |
399 | 399 | if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={prompt:function(){i3GEO.janela.prompt($trad("x77"),i3GEO.marcador.armazena,"")},armazena:function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),ext=i3GEO.parametros.mapexten,nome="Marcador",valor;if($i("i3GEOjanelaprompt")){nome=$i("i3GEOjanelaprompt").value}valor=nome+"|"+ext;if(cookies){cookies+=":"}else{cookies=""}valor=cookies+valor;i3GEO.util.insereCookie("marcadoresDoI3Geo",valor,365);i3GEO.marcador.redesenha()},redesenha:function(){var m=i3GEOoMenuBar.getMenu("i3GeoMenuMarcador");m.clearContent();m.addItems(i3GEO.marcador.itensMenu());m.render()},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="<p class=paragrafo >"+$trad("x78")+"<br><br><input type=text value='"+c+"' size=37 />";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]!==nomeMarcador){novos.push(valores[i])}}i3GEO.util.insereCookie("marcadoresDoI3Geo",novos.join(":"),365);i3GEO.marcador.redesenha()},recuperaZoom:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]===nomeMarcador){i3GEO.navega.zoomExt("","","",temp[1]);return}}},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:$trad("x79"),id:"i3GeoMenuMarcador"});obj.submenus.i3GeoMenuMarcador=i3GEO.marcador.itensMenu();return obj},itensMenu:function(){var itens=[],cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores,n,i,temp;itens.push({id:"omenudataMarcadorSalva",text:$trad("x82"),url:"javascript:i3GEO.marcador.prompt()"},{id:"omenudataMarcadorExporta",text:$trad("x80"),url:"javascript:i3GEO.marcador.exporta()"},{id:"omenudataMarcadorImporta",text:$trad("x81"),url:"javascript:i3GEO.marcador.importa()"},{id:"omenudataMarcadorExportaShp",text:$trad("x84"),url:"javascript:i3GEO.marcador.exportaShp()"});if(cookie){valores=cookie.split(":");n=valores.length;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp.length===2){itens.push({id:"omenudataMarcador"+i,text:"<img src='"+i3GEO.configura.locaplic+"/imagens/visual/default/branco.gif' class=x onclick='i3GEO.marcador.remove(\""+temp[0]+"\")' /> <span style=color:blue>"+temp[0]+"</span>",url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')"})}}}return itens}}; |
400 | -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que contém os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor numérico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Distância máxima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style)});if(!objMapa){objMapa=i3geoOL}objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}}}; | |
400 | +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que contém os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor numérico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores são definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Distância máxima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os símbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var layerListeners,logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});if(!objMapa){objMapa=i3geoOL}layerListeners={featureclick:function(e){if(e.feature.cluster.length>1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}}}; | |
401 | 401 | /* |
402 | 402 | * euDock - javascript Emulation of Dock style MAC OS X bar |
403 | 403 | * | ... | ... |