i3geo/classesjs/classe_interface.js
GPL2
i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
Direitos Autorais Reservados © 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.@mma.g ov.br moretti
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 ADEQUAÇÃ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.
Interface | i3geo/classesjs/classe_interface.js |
i3GEO. Interface | Funcoes que controlam o comportamento específico de determinadas interfaces |
Propriedades | |
TABLET | Aplica configurações especiais para uso em tablets. |
ALTTABLET | Nome do arquivo HTML com a interface alternativa utilizada quando o i3Geo detecta o uso de um dispositivo móvel |
OUTPUTFORMAT | Formato de geração da imagem. |
BARRABOTOESTOP | Distância da barra de botões em ralação ao topo do mapa. |
BARRABOTOESLEFT | Distância da barra de botões em ralação ao lado esquerdo do mapa. |
BARRADEZOOMTOP | Distância da barra de zoom em ralação ao topo do mapa. |
BARRADEZOOMLEFT | Distância da barra de zoom em ralação ao lado esquerdo do mapa. |
ATUAL | Interface utilizada na criação e controle do mapa. |
IDCORPO | ID do elemento HTML que receberá o corpo do mapa |
ATIVAMENUCONTEXTO | Indica se o menu de contexto deve ser ativado |
Variaveis | |
IDMAPA | ID do elemento HTML criado para conter o mapa |
STATUS | Indica o status atual do mapa. |
Functions | |
atual2gm | Troca o renderizador do mapa passando a usar a API do Google Maps |
redesenha | Aplica o método redesenha da interface atual. |
aplicaOpacidade | Aplica um fator de opacidade a todos os layers do mapa |
atualizaMapa | Aplica o método atualizaMapa da interface atual. |
atualizaTema | Aplica o método atualizaTema da interface atual |
adicionaKml | Aplica o método de adição de kml ao mapa conforme a interface atual |
cria | Cria ou altera os elementos HTML necessários para a interface |
inicia | Inicia a interface |
alteraLayers | Altera todos os layers do mapa modificando um determinado parâmetro |
ativaBotoes | Ativa os botões de ferramentas |
i3GEO. Interface. padrao | Interface padrão com motor de navegação do próprio i3Geo |
Propriedades | |
TRANSICAO | Ativa ou não o modo de transição suave das imagens quando o mapa é redesenhado. |
Functions | |
ativaMenuContexto | Ativa o menu de contexto acionado com o botão direito do mouse |
i3GEO. Interface. flamingo | Interface com motor de navegação baseado no software Flamingo Map Components (flash) |
i3GEO. Interface. openlayers | Interface com motor de navegação baseado na API OpenLayers |
Propriedades | |
FUNDOTEMA | Estilo “background” do nome dotema enquanto o mesmo está sendo carregado. |
TILES | Indica se será utilizado o modo de navegação em tiles |
BUFFER | Número de TILES na área não visível do mapa |
GADGETS | Lista dos controles específicos da API do OpenLayers que serão inseridos ou não no mapa |
MINEXTENT | Menor extensão geográfica que pode ser mostrada no mapa |
MAXEXTENT | Maior extensão geográfica que pode ser mostrada no mapa |
LAYERSADICIONAIS | Array com objetos do tipo LAYER que serão adicionados após a crioação de todos os layers default. |
i3GEO. Interface. googlemaps | Interface com motor de navegação baseado na API Google Maps |
Propriedades | |
OPACIDADE | Valor da opacidade das camadas i3geo do mapa |
TIPOMAPA | Tipo de mapa que será usado como default, conforme constantes definidas na API do Google Maps. |
Variaveis | |
ZOOMSCALE | Array com a lista de escalas em cada nivel de zoom utilizado pelo Google |
PARAMETROSLAYER | Parâmetros adicionais que são inseridos na URL que define cada layer |
posfixo | String acrescentada à url de cada tile para garantir a remoção do cache local |
Functions | |
adicionaKml | Insere no mapa uma camada KML com base na API do Google Maps |
adicionaNoArvoreGoogle | Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa |
ativaDesativaCamadaKml | Ativa ou desativa uma camada do nó de layers KML |
i3GEO. Interface. googleearth | Interface com motor de navegação baseado na API Google Earth |
Variaveis | |
PARAMETROSLAYER | Parâmetros adicionais que são inseridos na URL que define cada layer |
posfixo | String acrescentada à url de cada tile para garantir a remoção do cache local |
Propriedades | |
GADGETS | Lista dos controles específicos da API do Google Earth que serão inseridos ou não no mapa |
Functions | |
adicionaKml | Insere no mapa uma camada KML com base na API do Google Earth |
adicionaNoArvoreGoogle | Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa |
ativaDesativaCamadaKml | Ativa ou desativa uma camada do nó de layers KML |
Funcoes que controlam o comportamento específico de determinadas interfaces
As interfaces são definidas na inicialização do i3Geo, por exemplo, openlayers, flamingo,etc
A classe “interface” contém os métdos específicos utilizados nessas interfaces
Para iniciar o i3geo com uma interface específica, utilize http://localhost- /i3geo- /ms_criamapa.php?interface=flamingo.htm O HTML deve conter as definições da interface criada e deve estar armazenado em i3geo/aplicmap
Propriedades | |
TABLET | Aplica configurações especiais para uso em tablets. |
ALTTABLET | Nome do arquivo HTML com a interface alternativa utilizada quando o i3Geo detecta o uso de um dispositivo móvel |
OUTPUTFORMAT | Formato de geração da imagem. |
BARRABOTOESTOP | Distância da barra de botões em ralação ao topo do mapa. |
BARRABOTOESLEFT | Distância da barra de botões em ralação ao lado esquerdo do mapa. |
BARRADEZOOMTOP | Distância da barra de zoom em ralação ao topo do mapa. |
BARRADEZOOMLEFT | Distância da barra de zoom em ralação ao lado esquerdo do mapa. |
ATUAL | Interface utilizada na criação e controle do mapa. |
IDCORPO | ID do elemento HTML que receberá o corpo do mapa |
ATIVAMENUCONTEXTO | Indica se o menu de contexto deve ser ativado |
Variaveis | |
IDMAPA | ID do elemento HTML criado para conter o mapa |
STATUS | Indica o status atual do mapa. |
Functions | |
atual2gm | Troca o renderizador do mapa passando a usar a API do Google Maps |
redesenha | Aplica o método redesenha da interface atual. |
aplicaOpacidade | Aplica um fator de opacidade a todos os layers do mapa |
atualizaMapa | Aplica o método atualizaMapa da interface atual. |
atualizaTema | Aplica o método atualizaTema da interface atual |
adicionaKml | Aplica o método de adição de kml ao mapa conforme a interface atual |
cria | Cria ou altera os elementos HTML necessários para a interface |
inicia | Inicia a interface |
alteraLayers | Altera todos os layers do mapa modificando um determinado parâmetro |
ativaBotoes | Ativa os botões de ferramentas |
Aplica configurações especiais para uso em tablets.
Altera o posicionamento da barra de botões e comportamento das guias. Veja o exemplo interface/openlayers_t.htm.
{boolean}
{false}
Nome do arquivo HTML com a interface alternativa utilizada quando o i3Geo detecta o uso de um dispositivo móvel
A detecção é aplicada automaticamente quando essa variável for definida
Para não aplicar a detecção, use i3GEO.Interface.ALTTABLET = “”
{string}
{openlayers_t.htm}
Formato de geração da imagem.
Os formatos devem estar definidos no mapfile geral1windows.map e geral1.map. A definição dessa variável não afeta a interface padrão, que utiliza a definição que estiver ativa nos mapfiles de inicialização.
{MAPSERVER OUTPUTFORMAT}
{“AGG_Q”}
Distância da barra de botões em ralação ao lado esquerdo do mapa.
{number}
{3}
Distância da barra de zoom em ralação ao lado esquerdo do mapa.
{number}
{3}
Interface utilizada na criação e controle do mapa.
Veja como usar nos arquivos de apresentação do mapa existentes no diretório i3geo/interface
O i3Geo, além da interface própria, permite o uso de outras APIs para a construção do mapa, como Google Maps ou Openlayers. Essa propriedade define qual interface será usada. Não confundir com o nome do HTML que é utilizado para mostrar o mapa.
Para definir a interface, utilize
i3GEO.Interface.ATUAL = “<valor>”
{string}
{geral|openlayers|flamingo|googlemaps|googleearth}
{“padrao”}
ID do elemento HTML criado para conter o mapa
Esse elemento normalmente é criado dentro de IDCORPO dependendo da interface
Indica o status atual do mapa.
É utilizado para verificar o status do mapa e bloquear ou não determinadas funções.
Por exemplo, na interface OpenLayers, identifica se as camadas estão sendo atualizadas
STATUS = { atualizando: new Array(), //guarda os códigos dos layers que estão sendo redesenhados trocando: false //indica se o mapa está na fase de troca de interface }
redesenha: function()
Aplica o método redesenha da interface atual. Em alguns casos, a função de redesenho aplica os mesmos processos da função de atualizar o mapa. Isso ocorre pq em alguns casos as funções são otimizadas para cada situação
aplicaOpacidade: function( opacidade )
Aplica um fator de opacidade a todos os layers do mapa
opacidade {numerico} | 0 a 1 |
atualizaMapa: function()
Aplica o método atualizaMapa da interface atual. Em alguns casos, a função de redesenho aplica os mesmos processos da função de atualizar o mapa. Isso ocorre pq em alguns casos as funções são otimizadas para cada situação
atualizaTema: function( retorno, tema )
Aplica o método atualizaTema da interface atual
retorno {JSON} | objeto JSON com os parâmetros obtidos da função PHP de redesenho do mapa. Quando igual a “”, é feita apenas a atualização da camada, sem que a árvore de camadas seja atualizada. |
tema {string} | código do tema |
adicionaKml: function()
Aplica o método de adição de kml ao mapa conforme a interface atual
cria: function( w, h )
Cria ou altera os elementos HTML necessários para a interface
Essa função é executada na inicialização do i3geo
w {Integer} | largura do corpo do mapa em pixels |
h {Integer} | altura do corpo do mapa em pixels |
Interface padrão com motor de navegação do próprio i3Geo
Utilizado quando
i3GEO.Interface.ATUAL = “padrao”
Propriedades | |
TRANSICAO | Ativa ou não o modo de transição suave das imagens quando o mapa é redesenhado. |
Functions | |
ativaMenuContexto | Ativa o menu de contexto acionado com o botão direito do mouse |
Ativa ou não o modo de transição suave das imagens quando o mapa é redesenhado.
true
{Boolean}
ativaMenuContexto: function()
Ativa o menu de contexto acionado com o botão direito do mouse
Interface com motor de navegação baseado no software Flamingo Map Components (flash)
Utilizado quando
i3GEO.Interface.ATUAL = “flamingo”
Interface com motor de navegação baseado na API OpenLayers
Utilizado quando
i3GEO.Interface.ATUAL = “openlayers”
Cria o objeto i3geoOL que pode receber os métodos da API do OpenLayers
Para detalhes sobre a configuração da interface, veja i3geo/aplicmap/openlayers.htm
Propriedades | |
FUNDOTEMA | Estilo “background” do nome dotema enquanto o mesmo está sendo carregado. |
TILES | Indica se será utilizado o modo de navegação em tiles |
BUFFER | Número de TILES na área não visível do mapa |
GADGETS | Lista dos controles específicos da API do OpenLayers que serão inseridos ou não no mapa |
MINEXTENT | Menor extensão geográfica que pode ser mostrada no mapa |
MAXEXTENT | Maior extensão geográfica que pode ser mostrada no mapa |
LAYERSADICIONAIS | Array com objetos do tipo LAYER que serão adicionados após a crioação de todos os layers default. |
Estilo “background” do nome dotema enquanto o mesmo está sendo carregado.
Permite destacar o nome do tema que está em processo de carregamento
{background style}
{yellow}
Lista dos controles específicos da API do OpenLayers que serão inseridos ou não no mapa
{object}
{PanZoomBar:true,LayerSwitcher:true,ScaleLine:true,OverviewMap:true}
Menor extensão geográfica que pode ser mostrada no mapa
{array}
{-0.001, -0.001, 0.001, 0.001]}
Maior extensão geográfica que pode ser mostrada no mapa
{array}
{[-180, -90, 180, 90]}
Array com objetos do tipo LAYER que serão adicionados após a crioação de todos os layers default.
{array}
Interface com motor de navegação baseado na API Google Maps
Utilizado quando
i3GEO.Interface.ATUAL = “googlemaps”
Cria o objeto i3GeoMap que pode receber os métodos da API. Cria também o objeto i3GeoMapOverlay do tipo Overlay, utilizado para cálculos ou para receber elementos gráficos.
Propriedades | |
OPACIDADE | Valor da opacidade das camadas i3geo do mapa |
TIPOMAPA | Tipo de mapa que será usado como default, conforme constantes definidas na API do Google Maps. |
Variaveis | |
ZOOMSCALE | Array com a lista de escalas em cada nivel de zoom utilizado pelo Google |
PARAMETROSLAYER | Parâmetros adicionais que são inseridos na URL que define cada layer |
posfixo | String acrescentada à url de cada tile para garantir a remoção do cache local |
Functions | |
adicionaKml | Insere no mapa uma camada KML com base na API do Google Maps |
adicionaNoArvoreGoogle | Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa |
ativaDesativaCamadaKml | Ativa ou desativa uma camada do nó de layers KML |
Tipo de mapa que será usado como default, conforme constantes definidas na API do Google Maps.
”roadmap”
{string | Google API constante “satellite”|”roadmap”|”hybrid”|”terrain”} |
adicionaKml: function( pan, url, titulo, ativo )
Insere no mapa uma camada KML com base na API do Google Maps
As camadas adicionadas são acrescentadas na árvore de camadas
A lista de nomes dos objetos geoXml criados é mantida em i3GEO.mapas.GEOXML
pan {Boolean} | define se o mapa será deslocado para encaixar o KML |
url {String} | URL do arquivo KML. Se não for definido, a URL será obtida do INPUT com id = i3geo_urlkml (veja i3GEO.gadgets.mostraInserirKml) |
titulo {string} | titulo que aparecerá na árvore. Se não for definido, será calculado aleatoriamente. |
ativo {boolean} | indica se a camada estará ativa ou não. Se não for definido, será considerado como true |
adicionaNoArvoreGoogle: function( url, nomeOverlay, ativo, id )
Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
Os temas são incluídos em um nó chamado “Google Maps”.
Para obter esse nó utilize var node = i3GEO.arvoreDeCamadas.ARVORE.getNodeByProperty(“idkml”,”raiz”);
url {string} | url do arquivo KML |
nomeOverlay {string} | título do tema |
ativo {boolean} | indica o estado do checkbox |
id {string} | nome do objeto GGeoXml |
ativaDesativaCamadaKml: function( obj, url )
Ativa ou desativa uma camada do nó de layers KML
obj {object} | objeto do tipo checkbox que foi ativado/desativado |
url {string} | url do KML |
Interface com motor de navegação baseado na API Google Earth
Utilizado quando
i3GEO.Interface.ATUAL = “googleearth”
Cria o objeto i3GeoMap que pode receber os métodos da API do google Earth
Variaveis | |
PARAMETROSLAYER | Parâmetros adicionais que são inseridos na URL que define cada layer |
posfixo | String acrescentada à url de cada tile para garantir a remoção do cache local |
Propriedades | |
GADGETS | Lista dos controles específicos da API do Google Earth que serão inseridos ou não no mapa |
Functions | |
adicionaKml | Insere no mapa uma camada KML com base na API do Google Earth |
adicionaNoArvoreGoogle | Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa |
ativaDesativaCamadaKml | Ativa ou desativa uma camada do nó de layers KML |
Lista dos controles específicos da API do Google Earth que serão inseridos ou não no mapa
{object}
{}
adicionaKml: function( pan, url, titulo, ativo )
Insere no mapa uma camada KML com base na API do Google Earth
As camadas adicionadas são crescentadas na árvore de camadas
A lista de nomes dos objetos geoXml criados é mantida em i3GEO.mapas.GEOXML
pan {Boolean} | define se o mapa será deslocado para encaixar o KML |
url {String} | URL do arquivo KML. Se não for definido, a URL será obtida do INPUT com id = i3geo_urlkml (veja i3GEO.gadgets.mostraInserirKml) |
titulo {string} | titulo que aparecerá na árvore. Se não for definido, será calculado aleatoriamente. |
ativo {boolean} | indica se a camada estará ativa ou não. Se não for definido, será considerado como true |
adicionaNoArvoreGoogle: function( url, nomeOverlay, ativo, id )
Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
Os temas são incluídos em um nó chamado “Google Earth”.
Para obter esse nó utilize var node = i3GEO.arvoreDeCamadas.ARVORE.getNodeByProperty(“idkml”,”raiz”);
url {string} | url do arquivo KML |
nomeOverlay {string} | título do tema |
ativo {boolean} | indica o estado do checkbox |
id {string} | nome do objeto GGeoXml |
Troca o renderizador do mapa passando a usar a API do Google Maps
atual2gm:
Aplica o método redesenha da interface atual.
redesenha: function()
Aplica um fator de opacidade a todos os layers do mapa
aplicaOpacidade: function( opacidade )
Aplica o método atualizaMapa da interface atual.
atualizaMapa: function()
Aplica o método atualizaTema da interface atual
atualizaTema: function( retorno, tema )
Aplica o método de adição de kml ao mapa conforme a interface atual
adicionaKml: function()
Cria ou altera os elementos HTML necessários para a interface
cria: function( w, h )
Inicia a interface
inicia: function( w, h )
Ativa os botões de ferramentas
ativaBotoes: function()
Ativa o menu de contexto acionado com o botão direito do mouse
ativaMenuContexto: function()
Insere no mapa uma camada KML com base na API do Google Maps
adicionaKml: function( pan, url, titulo, ativo )
Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
adicionaNoArvoreGoogle: function( url, nomeOverlay, ativo, id )
Ativa ou desativa uma camada do nó de layers KML
ativaDesativaCamadaKml: function( obj, url )
Insere no mapa uma camada KML com base na API do Google Earth
adicionaKml: function( pan, url, titulo, ativo )
Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
adicionaNoArvoreGoogle: function( url, nomeOverlay, ativo, id )
Ativa ou desativa uma camada do nó de layers KML
ativaDesativaCamadaKml: function( obj )