From 463e27a07a79ee11c7c3a99b3f59fb8c6cf75ae3 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 18 Aug 2014 04:06:50 +0000 Subject: [PATCH] - --- admin/js/editormapfile_conexao.js | 4 ++-- classesjs/classe_plugini3geo.js | 975 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- exemplos/atlas/i3geo.js | 80 ++++++++++++++++++++++++++++++++++++-------------------------------------------- exemplos/atlas/mapa.htm | 10 +++++----- ferramentas/markercluster/funcoes.php | 22 ++++++++++++++++++++++ ferramentas/markercluster/googlemaps_js.php | 5 ++++- ferramentas/minhaferramenta/index.htm | 2 +- ferramentas/sibea/pesquisa.htm | 4 ++-- ferramentas/tabela/template_mst.html | 2 +- imagens/google/m1.png | Bin 0 -> 3003 bytes imagens/google/m2.png | Bin 0 -> 3259 bytes imagens/google/m3.png | Bin 0 -> 3956 bytes imagens/google/m4.png | Bin 0 -> 5705 bytes imagens/google/m5.png | Bin 0 -> 6839 bytes imagens/google/symbol_blank.png | Bin 0 -> 490 bytes pacotes/markercluster/google/markerclusterer.js | 4 ++-- temas/_lmapadecluster.map | 2 +- 17 files changed, 554 insertions(+), 556 deletions(-) create mode 100644 imagens/google/m1.png create mode 100644 imagens/google/m2.png create mode 100644 imagens/google/m3.png create mode 100644 imagens/google/m4.png create mode 100644 imagens/google/m5.png create mode 100644 imagens/google/symbol_blank.png diff --git a/admin/js/editormapfile_conexao.js b/admin/js/editormapfile_conexao.js index f1cca87..1519126 100755 --- a/admin/js/editormapfile_conexao.js +++ b/admin/js/editormapfile_conexao.js @@ -135,7 +135,7 @@ function montaEditorDados(dados) $i("connectiontype").onchange = function(){ core_desativaforms(idsForms); var valor = $i("connectiontype").value, - d = []; + d; //["connection","data","tileitem","tileindex"] if(valor == 0 || valor == 10) {d = [];} @@ -154,7 +154,7 @@ function montaEditorDados(dados) $i("metaestat").onchange = function(){ core_desativaforms(idsMetaestat); var valor = $i("metaestat").value, - d = []; + d; if(valor === "SIM"){ d = ["metaestat_id_medida_variavel"]; } diff --git a/classesjs/classe_plugini3geo.js b/classesjs/classe_plugini3geo.js index ea261f7..510df3c 100644 --- a/classesjs/classe_plugini3geo.js +++ b/classesjs/classe_plugini3geo.js @@ -1,542 +1,523 @@ /** * Title: PluginI3Geo - * + * * i3GEO.pluginI3geo - * - * Implementa os plugins do i3Geo que adicionam camadas especiais ao mapa, - * normalmente dados vetoriais processados no navegador Web. - * + * + * Implementa os plugins do i3Geo que adicionam camadas especiais ao mapa, normalmente dados vetoriais processados no navegador Web. + * * Arquivo: - * + * * i3geo/classesjs/classe_plugini3geo.js - * + * * Licença: - * + * * GPL2 - * + * * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet - * - * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente - * Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com - * - * Este programa é software livre; você pode redistribuí-lo - * e/ou modificá-lo sob os termos da Licença Pública Geral - * GNU conforme publicada pela Free Software Foundation; - * - * Este programa é distribuído na expectativa de que seja - * útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia - * implícita de COMERCIABILIDADE OU ADEQUACÃO A UMA FINALIDADE - * ESPECÍFICA. Consulte a Licença Pública Geral do GNU para - * mais detalhes. Você deve ter recebido uma cópia da - * Licença Pública Geral do GNU junto com este programa; se - * não, escreva para a Free Software Foundation, Inc., no endereço - * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * + * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com + * + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença + * Pública Geral GNU conforme publicada pela Free Software Foundation; + * + * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a + * garantia implícita de COMERCIABILIDADE OU ADEQUACÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença + * Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do + * GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite + * 330, Boston, MA 02111-1307 USA. */ if (typeof (i3GEO) === 'undefined') { var i3GEO = {}; } -i3GEO.pluginI3geo = { - OBJETOS : {}, - /** - * Lista de plugins - * - * Utilizado no editor de mapfiles do sistema de administracao - */ - PLUGINS : [ +i3GEO.pluginI3geo = + { + OBJETOS : {}, + /** + * Lista de plugins + * + * Utilizado no editor de mapfiles do sistema de administracao + */ + PLUGINS : [ { "classe" : "heatmap", "nome" : "Mapa de calor", "editor" : true - }, { + }, + { "classe" : "markercluster", "nome" : "Agrupamento de pontos (cluster)", "editor" : true } - ], - /** - * Inicia a execucao de um plugin - * - * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao - * mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas as camadas - * adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo - * verifica se a camada possui plugin e direciona para ca Os plugins sao - * definidos como metadados em cada mapfile de cada tema - * - * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas - */ - inicia : function(camada) { - if (i3GEO.janela) { - i3GEO.janela.AGUARDEMODAL = true; - i3GEO.janela.abreAguarde( - "aguardePlugin", - "Calculando..."); - i3GEO.janela.AGUARDEMODAL = false; - } - // chama a funcao conforme o tipo de plugin e a interface atual - // para cada plugin deve haver um objeto com as funcoes especificas - // para - // cada interface - i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada); - }, - /** - * Retorna o HTML com o formulario para editar os parametros do plugin - */ - 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; - }, - /** - * Aplica as propriedades em um objeto do tipo tema - * - * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e - * necessario para que as propriedades aparecam de forma correta na arvore - * de camadas - */ - aplicaPropriedades : function(camada) { - if (camada.plugini3geo - && camada.plugini3geo != "") { - camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada); - } - return camada; - }, - /** - * Function: heatmap - * - * Mapa de calor - * - * Gera um layer do tipo mapa de calor e adiciona ao mapa - * - * As dependências em javascript sao carregadas via script tag por - * meio de ferramentas/heatmap - * - * Esse programa também obtém os dados necessários ao - * plugin - * - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO - * - * Esse matadado deve conter uma string que será transformada em um - * objeto javascript para uso no plugin - * - * Exemplo: - * - * "PLUGINI3GEO" - * '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"teste","max":"10","radius":"15"}}' - * - * Coluna é a que contém os dados numéricos que definem - * a quantidade de uma medida em cada ponto e é usada para gerar a - * representação. Se for vazia, considera-se o valor como 1 - * - * As cores das classes existentes no LAYER serão utilizadas para - * calcular as cores do mapa de calor. Se tipoGradiente for igual a "default" será utilizado - * o gradiente padrão. - * - */ - heatmap : { - linkAjuda : function() { - return i3GEO.configura.locaplic - + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; + ], + /** + * Inicia a execucao de um plugin + * + * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas + * as camadas adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo verifica se a camada possui plugin e direciona para + * ca Os plugins sao definidos como metadados em cada mapfile de cada tema + * + * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas + */ + inicia : function(camada) { + if (i3GEO.janela) { + i3GEO.janela.AGUARDEMODAL = true; + i3GEO.janela.abreAguarde("aguardePlugin", "Calculando..."); + i3GEO.janela.AGUARDEMODAL = false; + } + // chama a funcao conforme o tipo de plugin e a interface atual + // para cada plugin deve haver um objeto com as funcoes especificas + // para + // cada interface + i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada); + }, + /** + * Retorna o HTML com o formulario para editar os parametros do plugin + */ + 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; }, - formAdmin : function(config) { - // {"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}} - var parametros, ins = "", configDefault = '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"1","radius":15,"max":10}}'; - if (config === "") { - config = configDefault; + atualizaCamada : function(nomecamada) { + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) { + i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada(); + return true; } - config = YAHOO.lang.JSON.parse(config); - if (config.plugin != "heatmap") { - config = YAHOO.lang.JSON.parse(configDefault); + return false; + }, + existeObjeto : function(nomecamada) { + if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) { + return true; } - parametros = config.parametros; - ins += "" - + "

Coluna que contém os dados ou valor numérico para cada ponto:" - + "

" - + "

Raio de cada ponto em pixels:" - + "

" - + "

Valor máximo em cada ponto:" - + "

" - + "

Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):" - + "

" - + "

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

"; - return ins; + return false; }, - 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; + /** + * Aplica as propriedades em um objeto do tipo tema + * + * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e necessario para que as propriedades aparecam de forma + * correta na arvore de camadas + */ + aplicaPropriedades : function(camada) { + if (camada.plugini3geo && camada.plugini3geo != "") { + camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada); + } + return camada; + }, + /** + * Function: heatmap + * + * Mapa de calor + * + * Gera um layer do tipo mapa de calor e adiciona ao mapa + * + * As dependências em javascript sao carregadas via script tag por meio de ferramentas/heatmap + * + * Esse programa também obtém os dados necessários ao plugin + * + * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO + * + * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin + * + * Exemplo: + * + * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"teste","max":"10","radius":"15"}}' + * + * Coluna é a que contém os dados numéricos que definem a quantidade de uma medida em cada ponto e é + * usada para gerar a representação. Se for vazia, considera-se o valor como 1 + * + * As cores das classes existentes no LAYER serão utilizadas para calcular as cores do mapa de calor. Se tipoGradiente for + * igual a "default" será utilizado o gradiente padrão. + * + */ + heatmap : { + linkAjuda : function() { + return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; }, - inicia : function(camada) { - var p = i3GEO.configura.locaplic - + "/ferramentas/heatmap/googlemaps_js.php", carregaJs = "nao", criaLayer; - criaLayer = function() { - var heatmap, pontos; + formAdmin : function(config) { + // {"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}} + var parametros, ins = "", configDefault = + '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"1","radius":15,"max":10}}'; + if (config === "") { + config = configDefault; + } + config = YAHOO.lang.JSON.parse(config); + if (config.plugin != "heatmap") { + config = YAHOO.lang.JSON.parse(configDefault); + } + parametros = config.parametros; + ins += + "" + + "

Coluna que contém os dados ou valor numérico para cada ponto:" + + "

" + + "

Raio de cada ponto em pixels:" + + "

" + + "

Valor máximo em cada ponto:" + + "

" + + "

Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):" + + "

" + + "

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

"; + 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 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 - ] - } - }); - // i3GeoMap.overlayMapTypes.insertAt(0, heatmap); - 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(); + 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 + ] + } + }); + // i3GeoMap.overlayMapTypes.insertAt(0, heatmap); + 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; }; - i3GEO.pluginI3geo.OBJETOS[camada.name] = heatmap; - heatmap_dados = null; - }; - if (typeof (HeatmapOverlay) === 'undefined') { - carregaJs = "sim"; + if (typeof (HeatmapOverlay) === 'undefined') { + carregaJs = "sim"; + } + 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, "i3GEO.pluginI3geo.heatmap_script"); } - 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, - "i3GEO.pluginI3geo.heatmap_script"); - } - }, - // - // O script que adiciona a camada - // define os eventos visibilitychanged, moveend e removed - // A camada e adicionada como um objeto layer, permitindo que as funcoes - // do i3Geo operem normalmente, sem muitas modificacoes - // - 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 p = i3GEO.configura.locaplic - + "/ferramentas/heatmap/openlayers_js.php", carregaJs = "nao", criaLayer; - criaLayer = function() { - var heatmap, transformedTestData = { - max : camada.plugini3geo.parametros.max, - data : [] - }, data = heatmap_dados, datalen = heatmap_dados.length, nudata = []; + // + // O script que adiciona a camada + // define os eventos visibilitychanged, moveend e removed + // A camada e adicionada como um objeto layer, permitindo que as funcoes + // do i3Geo operem normalmente, sem muitas modificacoes + // + 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 p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php", carregaJs = "nao", criaLayer; + criaLayer = function() { + var heatmap, transformedTestData = { + max : camada.plugini3geo.parametros.max, + data : [] + }, data = heatmap_dados, datalen = heatmap_dados.length, nudata = []; - // para uso com o mashup - if (!objMapa) { - objMapa = i3geoOL; - } - // in order to use the OpenLayers Heatmap Layer we have - // to - // transform our data into - // { max: , data: [{lonlat: , - // count: - // },...]} - while (datalen--) { - nudata.push({ - lonlat : new OpenLayers.LonLat(data[datalen].lng, heatmap_dados[datalen].lat), - count : heatmap_dados[datalen].count + // para uso com o mashup + if (!objMapa) { + objMapa = i3geoOL; + } + // in order to use the OpenLayers Heatmap Layer we have + // to + // transform our data into + // { max: , data: [{lonlat: , + // count: + // },...]} + while (datalen--) { + nudata.push({ + lonlat : new OpenLayers.LonLat(data[datalen].lng, heatmap_dados[datalen].lat), + count : heatmap_dados[datalen].count + }); + } + transformedTestData.data = nudata; + // create our heatmap layer + 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 }); - } - transformedTestData.data = nudata; - // create our heatmap layer - 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 - ] + 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"); } - }, { - 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 (typeof (HeatmapOverlay) === 'undefined') { + carregaJs = "sim"; + } + if (!i3GEO.configura || !i3GEO.configura.sid) { + i3GEO.configura.sid = ""; } - }; - if (typeof (HeatmapOverlay) === 'undefined') { - carregaJs = "sim"; + 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, "i3GEO.pluginI3geo.heatmap_script"); } - if (!i3GEO.configura - || !i3GEO.configura.sid) { - i3GEO.configura.sid = ""; + }, + googleearth : { + inicia : function() { + alert("Plugin nao disponivel"); } - 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, - "i3GEO.pluginI3geo.heatmap_script"); - } - }, - googleearth : { - inicia : function() { - alert("Plugin nao disponivel"); } - } - }, - /** - * Function: markercluster - * - * Markercluster - * - * Gera um layer que agrupa pontos conforme a distância entre eles e - * insere um contador adiciona ao mapa - * - * As dependências em javascript sao carregadas via script tag por - * meio de ferramentas/markercluster - * - * Esse programa também obtém os dados necessários ao - * plugin - * - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO - * - * Esse matadado deve conter uma string que será transformada em um - * objeto javascript para uso no plugin - * - * Exemplo: - * - * "PLUGINI3GEO" - * '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}' - * - * Coluna é a que contém os dados numéricos que definem - * a quantidade de uma medida em cada ponto e é usada para gerar a - * representação. Se for vazia, considera-se o valor como 1 - * - */ - markercluster : { - linkAjuda : function() { - return i3GEO.configura.locaplic - + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; }, - formAdmin : function(config) { - var parametros, ins = "", configDefault = '{"plugin":"markercluster","parametros":{"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 += "" - + "

Distância máxima entre ponto em pixels:" - + "

"; - 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; + /** + * Function: markercluster + * + * Markercluster + * + * Gera um layer que agrupa pontos conforme a distância entre eles e insere um contador adiciona ao mapa + * + * As dependências em javascript sao carregadas via script tag por meio de ferramentas/markercluster + * + * Esse programa também obtém os dados necessários ao plugin + * + * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO + * + * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin + * + * Exemplo: + * + * "PLUGINI3GEO" '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}' + * + * Coluna é a que contém os dados numéricos que definem a quantidade de uma medida em cada ponto e é + * usada para gerar a representação. Se for vazia, considera-se o valor como 1 + * + */ + markercluster : { + linkAjuda : function() { + return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; }, - inicia : function(camada) { - var 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 - }); - marcas.push(marker); - } - markercluster = new MarkerClusterer(i3GeoMap, marcas, { - "gridSize" : parseInt(camada.plugini3geo.parametros.gridSize,10), - "visible" : true, - "opacity" : camada.transparency, - "name" : camada.name - }); - i3GEO.janela.fechaAguarde("aguardePlugin"); + 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 += + "" + "

Distância máxima entre ponto em pixels:" + "

" + + "

Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):" + + "

" + + "

"; - markercluster.ligaCamada = function() { - i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true; - i3GEO.pluginI3geo.OBJETOS[camada.name].redraw(); - }; - markercluster.desLigaCamada = function() { - i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true); - i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = false; - }; - markercluster.removeCamada = function() { - i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers(); + 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 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 : i3GEO.configura.locaplic + "/imagens/google/symbol_blank.png", + scaledSize : new google.maps.Size(20, 20) + } + }); + marcas.push(marker); + } + markercluster = new MarkerClusterer(i3GeoMap, marcas, { + "gridSize" : parseInt(camada.plugini3geo.parametros.gridSize, 10), + "visible" : true, + "opacity" : camada.transparency, + "name" : camada.name, + "styles" : [ + { + url : i3GEO.configura.locaplic + "/imagens/google/m1", + height : 53, + width : 53 + }, + { + url : i3GEO.configura.locaplic + "/imagens/google/m2", + height : 56, + width : 56 + }, + { + url : i3GEO.configura.locaplic + "/imagens/google/m3", + height : 66, + width : 66 + }, + { + url : i3GEO.configura.locaplic + "/imagens/google/m4", + height : 78, + width : 78 + }, + { + url : i3GEO.configura.locaplic + "/imagens/google/m5", + height : 90, + width : 90 + } + ] + }); + 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; }; - markercluster.atualizaCamada = function() { - i3GEO.pluginI3geo.OBJETOS[camada.name].ready_ = true; - i3GEO.pluginI3geo.OBJETOS[camada.name].redraw(); - }; - i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster; - markercluster_dados = null; - }; - if (typeof (MarkerClusterer) === 'undefined') { - carregaJs = "sim"; + if (typeof (MarkerClusterer) === 'undefined') { + carregaJs = "sim"; + } + p += + "?carregajs=" + carregaJs + "&layer=" + camada.name + "&coluna=" + camada.plugini3geo.parametros.coluna + + "&g_sid=" + i3GEO.configura.sid + + "&tipoEstilos=" + camada.plugini3geo.parametros.tipoEstilos + + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config"; + i3GEO.util.scriptTag(p, criaLayer, "i3GEO.pluginI3geo.markercluster_script"); } - p += "?carregajs=" - + carregaJs - + "&layer=" - + camada.name - + "&coluna=" - + camada.plugini3geo.parametros.coluna - + "&g_sid=" - + i3GEO.configura.sid - + "&nomevariavel=markercluster_dados"; - i3GEO.util.scriptTag( - p, - criaLayer, - "i3GEO.pluginI3geo.markercluster_script"); } } - } -}; \ No newline at end of file + }; \ No newline at end of file diff --git a/exemplos/atlas/i3geo.js b/exemplos/atlas/i3geo.js index c737437..7c7adf4 100644 --- a/exemplos/atlas/i3geo.js +++ b/exemplos/atlas/i3geo.js @@ -1,60 +1,52 @@ -function atlasInicia() -{ - if ($i("guia6")) - { - $i("guia6").onclick = function() - { +function atlasInicia() { + if ($i("guia6")) { + $i("guia6").onclick = function() { g_guiaativa = "guia6"; mostraguiaf(6); - } + }; } objmapa = new Mapa(); objmapa.inicializa(); - - //corrige a altura da guia 6 + + // corrige a altura da guia 6 $i("guia6obj").style.height = objmapa.h; } -function atlasMapa(mapa,temas) -{ - if ($i(mapa)) - {$i("atlasTexto").innerHTML = $i(mapa).innerHTML} - else - {$i("atlasTexto").innerHTML = ""} - if ($i("guia1obj")) - { - //desliga todos +function atlasMapa(mapa, temas) { + if ($i(mapa)) { + $i("atlasTexto").innerHTML = $i(mapa).innerHTML; + } else { + $i("atlasTexto").innerHTML = ""; + } + if ($i("guia1obj")) { + // desliga todos var iguias = $i("guia1obj").getElementsByTagName("input"); - for (i=0;i
-
 Temas 
-
 Adiciona 
-
 Legenda 
-
 Atlas 
+
 Temas 
+
 Adiciona 
+
 Legenda 
+
 Atlas 
@@ -98,7 +98,7 @@
Aguarde...
- + diff --git a/ferramentas/markercluster/funcoes.php b/ferramentas/markercluster/funcoes.php index 529a56e..700c32e 100644 --- a/ferramentas/markercluster/funcoes.php +++ b/ferramentas/markercluster/funcoes.php @@ -68,4 +68,26 @@ function markerclusterMapfile(){ } return $map_file; } +function markerclusterEstilos($map_file,$layer,$tipoEstilos){ + if($tipoEstilos == "default"){ + $tipoEstilos = '[{url : i3GEO.configura.locaplic + "/imagens/google/m1",height : 53,width : 53},{url : i3GEO.configura.locaplic + "/imagens/google/m2",height : 56,width : 56},{url : i3GEO.configura.locaplic + "/imagens/google/m3",height : 66,width : 66},{url : i3GEO.configura.locaplic + "/imagens/google/m4",height : 78,width : 78},{url : i3GEO.configura.locaplic + "/imagens/google/m5",height : 90,width : 90}]'; + } + else{ + $gradiente = array(); + $mapa = ms_newMapObj($map_file); + $l = $mapa->getlayerbyname($layer); + $nc = $l->numclasses; + for ($c = 0;$c < $nc;$c++){ + $classe = $l->getclass($c); + $estilo = $classe->getstyle(0); + $nome = $classe->name; + $cor = $estilo->color; + $scor = "rgb(".$cor->red.",".$cor->green.",".$cor->blue.")"; + $gradiente[$nome] = $scor; + } + //echo $map_file;exit; + $gradiente = json_encode(array("gradient"=>$gradiente)); + } + return $tipoEstilos; +} ?> \ No newline at end of file diff --git a/ferramentas/markercluster/googlemaps_js.php b/ferramentas/markercluster/googlemaps_js.php index f136c75..52464a4 100755 --- a/ferramentas/markercluster/googlemaps_js.php +++ b/ferramentas/markercluster/googlemaps_js.php @@ -22,9 +22,12 @@ include_once($dir."/../inicia.php"); include_once($dir."/funcoes.php"); $map_file = markerclusterMapfile(); -$resultado = markerclusterDados($map_file); +$resultado = markerclusterDados($map_file); +$tipoEstilos = markerclusterEstilos($map_file,$layer,$tipoEstilos); echo $nomevariavel.' = ['.implode(",",$resultado).'];'; +echo $nomevariavelConfig.' = '.$tipoEstilos.';'; + if($carregajs === "sim"){ include_once($dir."/../../pacotes/markercluster/google/markerclusterer.js"); } diff --git a/ferramentas/minhaferramenta/index.htm b/ferramentas/minhaferramenta/index.htm index db9b3b8..b78ba0d 100644 --- a/ferramentas/minhaferramenta/index.htm +++ b/ferramentas/minhaferramenta/index.htm @@ -1,5 +1,5 @@ - + Minha ferramenta!

Digite as coordenadas da nova extensão geográfica:
diff --git a/ferramentas/sibea/pesquisa.htm b/ferramentas/sibea/pesquisa.htm index ea9dd9c..d32a7ba 100644 --- a/ferramentas/sibea/pesquisa.htm +++ b/ferramentas/sibea/pesquisa.htm @@ -63,7 +63,7 @@ height: 35px; - + SIBEA - Educadores ambientais
Educadores cadastrados no SIBEA. Mais info... @@ -99,7 +99,7 @@ Title: SIBEA-MMA (JavaScript) Acessa os web services do MMA para recuperar dados sobre educadores ambientais. -Por ser executado dentro do I3Geo, boa parte dos parâmetros são obtidos da variável de seção. +Por ser executado dentro do I3Geo, boa parte dos par�metros são obtidos da variável de seção. Arquivos: diff --git a/ferramentas/tabela/template_mst.html b/ferramentas/tabela/template_mst.html index 53495ff..7279de3 100644 --- a/ferramentas/tabela/template_mst.html +++ b/ferramentas/tabela/template_mst.html @@ -1,4 +1,4 @@ -
+
  • diff --git a/imagens/google/m1.png b/imagens/google/m1.png new file mode 100644 index 0000000..329ff52 Binary files /dev/null and b/imagens/google/m1.png differ diff --git a/imagens/google/m2.png b/imagens/google/m2.png new file mode 100644 index 0000000..b999cbc Binary files /dev/null and b/imagens/google/m2.png differ diff --git a/imagens/google/m3.png b/imagens/google/m3.png new file mode 100644 index 0000000..9f30b30 Binary files /dev/null and b/imagens/google/m3.png differ diff --git a/imagens/google/m4.png b/imagens/google/m4.png new file mode 100644 index 0000000..0d3f826 Binary files /dev/null and b/imagens/google/m4.png differ diff --git a/imagens/google/m5.png b/imagens/google/m5.png new file mode 100644 index 0000000..61387d2 Binary files /dev/null and b/imagens/google/m5.png differ diff --git a/imagens/google/symbol_blank.png b/imagens/google/symbol_blank.png new file mode 100644 index 0000000..ea5bc09 Binary files /dev/null and b/imagens/google/symbol_blank.png differ diff --git a/pacotes/markercluster/google/markerclusterer.js b/pacotes/markercluster/google/markerclusterer.js index d6c4dce..c154d89 100644 --- a/pacotes/markercluster/google/markerclusterer.js +++ b/pacotes/markercluster/google/markerclusterer.js @@ -1082,8 +1082,8 @@ ClusterIcon.prototype.onAdd = function() { panes.overlayMouseTarget.appendChild(this.div_); var that = this; - google.maps.event.addDomListener(this.div_, 'click', function() { - that.triggerClusterClick(); + google.maps.event.addDomListener(this.div_, 'click', function(evt) { + that.triggerClusterClick(); }); }; diff --git a/temas/_lmapadecluster.map b/temas/_lmapadecluster.map index 0a4fede..d3bcddb 100644 --- a/temas/_lmapadecluster.map +++ b/temas/_lmapadecluster.map @@ -27,7 +27,7 @@ MAP "ltempoitemicone" "" "permitecomentario" "" "metaestat" "" - "PLUGINI3GEO" '{"plugin":"markercluster","parametros":{"gridSize":"50"}}' + "PLUGINI3GEO" '{"plugin":"markercluster","parametros":{"tipoEstilos":"default","coluna":"","gridSize":"50"}}' "itembuscarapida" "" "arquivokmz" "" "arquivodownload" "" -- libgit2 0.21.2