Interface

Arquivo

i3geo/classesjs/classe_interface.js

Licenca

GPL2

i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet

Direitos Autorais Reservados © 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar..nosp@m.moretti@mma.g.nosp@m.ov.br

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.

Summary
Interfacei3geo/classesjs/classe_interface.js
i3GEO. InterfaceFuncoes que controlam o comportamento específico de determinadas interfaces
Propriedades
TABLETAplica configurações especiais para uso em tablets.
ALTTABLETNome do arquivo HTML com a interface alternativa utilizada quando o i3Geo detecta o uso de um dispositivo móvel
OUTPUTFORMATFormato de geração da imagem.
BARRABOTOESTOPDistância da barra de botões em ralação ao topo do mapa.
BARRABOTOESLEFTDistância da barra de botões em ralação ao lado esquerdo do mapa.
BARRADEZOOMTOPDistância da barra de zoom em ralação ao topo do mapa.
BARRADEZOOMLEFTDistância da barra de zoom em ralação ao lado esquerdo do mapa.
ATUALInterface utilizada na criação e controle do mapa.
IDCORPOID do elemento HTML que receberá o corpo do mapa
ATIVAMENUCONTEXTOIndica se o menu de contexto deve ser ativado
Variaveis
IDMAPAID do elemento HTML criado para conter o mapa
STATUSIndica o status atual do mapa.
Functions
atual2gmTroca o renderizador do mapa passando a usar a API do Google Maps
redesenhaAplica o método redesenha da interface atual.
aplicaOpacidadeAplica um fator de opacidade a todos os layers do mapa
atualizaMapaAplica o método atualizaMapa da interface atual.
atualizaTemaAplica o método atualizaTema da interface atual
adicionaKmlAplica o método de adição de kml ao mapa conforme a interface atual
criaCria ou altera os elementos HTML necessários para a interface
iniciaInicia a interface
alteraLayersAltera todos os layers do mapa modificando um determinado parâmetro
ativaBotoesAtiva os botões de ferramentas
i3GEO. Interface. padraoInterface padrão com motor de navegação do próprio i3Geo
Propriedades
TRANSICAOAtiva ou não o modo de transição suave das imagens quando o mapa é redesenhado.
Functions
ativaMenuContextoAtiva o menu de contexto acionado com o botão direito do mouse
i3GEO. Interface. flamingoInterface com motor de navegação baseado no software Flamingo Map Components (flash)
i3GEO. Interface. openlayersInterface com motor de navegação baseado na API OpenLayers
Propriedades
FUNDOTEMAEstilo “background” do nome dotema enquanto o mesmo está sendo carregado.
TILESIndica se será utilizado o modo de navegação em tiles
BUFFERNúmero de TILES na área não visível do mapa
GADGETSLista dos controles específicos da API do OpenLayers que serão inseridos ou não no mapa
MINEXTENTMenor extensão geográfica que pode ser mostrada no mapa
MAXEXTENTMaior extensão geográfica que pode ser mostrada no mapa
LAYERSADICIONAISArray com objetos do tipo LAYER que serão adicionados após a crioação de todos os layers default.
i3GEO. Interface. googlemapsInterface com motor de navegação baseado na API Google Maps
Propriedades
OPACIDADEValor da opacidade das camadas i3geo do mapa
TIPOMAPATipo de mapa que será usado como default, conforme constantes definidas na API do Google Maps.
Variaveis
ZOOMSCALEArray com a lista de escalas em cada nivel de zoom utilizado pelo Google
PARAMETROSLAYERParâmetros adicionais que são inseridos na URL que define cada layer
posfixoString acrescentada à url de cada tile para garantir a remoção do cache local
Functions
adicionaKmlInsere no mapa uma camada KML com base na API do Google Maps
adicionaNoArvoreGoogleAcrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
ativaDesativaCamadaKmlAtiva ou desativa uma camada do nó de layers KML
i3GEO. Interface. googleearthInterface com motor de navegação baseado na API Google Earth
Variaveis
PARAMETROSLAYERParâmetros adicionais que são inseridos na URL que define cada layer
posfixoString acrescentada à url de cada tile para garantir a remoção do cache local
Propriedades
GADGETSLista dos controles específicos da API do Google Earth que serão inseridos ou não no mapa
Functions
adicionaKmlInsere no mapa uma camada KML com base na API do Google Earth
adicionaNoArvoreGoogleAcrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
ativaDesativaCamadaKmlAtiva ou desativa uma camada do nó de layers KML

i3GEO. Interface

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

Exemplo

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

Summary
Propriedades
TABLETAplica configurações especiais para uso em tablets.
ALTTABLETNome do arquivo HTML com a interface alternativa utilizada quando o i3Geo detecta o uso de um dispositivo móvel
OUTPUTFORMATFormato de geração da imagem.
BARRABOTOESTOPDistância da barra de botões em ralação ao topo do mapa.
BARRABOTOESLEFTDistância da barra de botões em ralação ao lado esquerdo do mapa.
BARRADEZOOMTOPDistância da barra de zoom em ralação ao topo do mapa.
BARRADEZOOMLEFTDistância da barra de zoom em ralação ao lado esquerdo do mapa.
ATUALInterface utilizada na criação e controle do mapa.
IDCORPOID do elemento HTML que receberá o corpo do mapa
ATIVAMENUCONTEXTOIndica se o menu de contexto deve ser ativado
Variaveis
IDMAPAID do elemento HTML criado para conter o mapa
STATUSIndica o status atual do mapa.
Functions
atual2gmTroca o renderizador do mapa passando a usar a API do Google Maps
redesenhaAplica o método redesenha da interface atual.
aplicaOpacidadeAplica um fator de opacidade a todos os layers do mapa
atualizaMapaAplica o método atualizaMapa da interface atual.
atualizaTemaAplica o método atualizaTema da interface atual
adicionaKmlAplica o método de adição de kml ao mapa conforme a interface atual
criaCria ou altera os elementos HTML necessários para a interface
iniciaInicia a interface
alteraLayersAltera todos os layers do mapa modificando um determinado parâmetro
ativaBotoesAtiva os botões de ferramentas

Propriedades

TABLET

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.

Type

{boolean}

Default

{false}

ALTTABLET

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 = “”

Type

{string}

Default

{openlayers_t.htm}

OUTPUTFORMAT

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.

Tipo

{MAPSERVER OUTPUTFORMAT}

Default

{“AGG_Q”}

BARRABOTOESTOP

Distância da barra de botões em ralação ao topo do mapa.

Tipo

{number}

Default

{12}

BARRABOTOESLEFT

Distância da barra de botões em ralação ao lado esquerdo do mapa.

Tipo

{number}

Default

{3}

BARRADEZOOMTOP

Distância da barra de zoom em ralação ao topo do mapa.

Tipo

{number}

Default

{12}

BARRADEZOOMLEFT

Distância da barra de zoom em ralação ao lado esquerdo do mapa.

Tipo

{number}

Default

{3}

ATUAL

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>”

Tipo

{string}

Valores

{geral|openlayers|flamingo|googlemaps|googleearth}

Default

{“padrao”}

IDCORPO

ID do elemento HTML que receberá o corpo do mapa

Tipo

{string}

Default

{“corpoMapa”}

ATIVAMENUCONTEXTO

Indica se o menu de contexto deve ser ativado

Tipo

{Boolean}

Default

{true}

Variaveis

IDMAPA

ID do elemento HTML criado para conter o mapa

Esse elemento normalmente é criado dentro de IDCORPO dependendo da interface

STATUS

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 }

Functions

atual2gm

atual2gm:

Troca o renderizador do mapa passando a usar a API do Google Maps

redesenha

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

aplicaOpacidade: function(opacidade)

Aplica um fator de opacidade a todos os layers do mapa

Parametro

opacidade {numerico}0 a 1

atualizaMapa

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

atualizaTema: function(retorno,
tema)

Aplica o método atualizaTema da interface atual

Parametros

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

adicionaKml: function()

Aplica o método de adição de kml ao mapa conforme a interface atual

cria

cria: function(w,
h)

Cria ou altera os elementos HTML necessários para a interface

Essa função é executada na inicialização do i3geo

Parametros

w {Integer}largura do corpo do mapa em pixels
h {Integer}altura do corpo do mapa em pixels

inicia

inicia: function(w,
h)

Inicia a interface

alteraLayers

Altera todos os layers do mapa modificando um determinado parâmetro

ativaBotoes

ativaBotoes: function()

Ativa os botões de ferramentas

i3GEO. Interface. padrao

Interface padrão com motor de navegação do próprio i3Geo

Utilizado quando

i3GEO.Interface.ATUAL = “padrao”

Summary
Propriedades
TRANSICAOAtiva ou não o modo de transição suave das imagens quando o mapa é redesenhado.
Functions
ativaMenuContextoAtiva o menu de contexto acionado com o botão direito do mouse

Propriedades

TRANSICAO

Ativa ou não o modo de transição suave das imagens quando o mapa é redesenhado.

Default

true

Tipo

{Boolean}

Functions

ativaMenuContexto

ativaMenuContexto: function()

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)

Utilizado quando

i3GEO.Interface.ATUAL = “flamingo”

i3GEO. Interface. openlayers

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

Summary
Propriedades
FUNDOTEMAEstilo “background” do nome dotema enquanto o mesmo está sendo carregado.
TILESIndica se será utilizado o modo de navegação em tiles
BUFFERNúmero de TILES na área não visível do mapa
GADGETSLista dos controles específicos da API do OpenLayers que serão inseridos ou não no mapa
MINEXTENTMenor extensão geográfica que pode ser mostrada no mapa
MAXEXTENTMaior extensão geográfica que pode ser mostrada no mapa
LAYERSADICIONAISArray com objetos do tipo LAYER que serão adicionados após a crioação de todos os layers default.

Propriedades

FUNDOTEMA

Estilo “background” do nome dotema enquanto o mesmo está sendo carregado.

Permite destacar o nome do tema que está em processo de carregamento

Tipo

{background style}

Default

{yellow}

TILES

Indica se será utilizado o modo de navegação em tiles

Tipo

{boolean}

Default

{false}

BUFFER

Número de TILES na área não visível do mapa

Tipo

{integer}

Default

{0}

GADGETS

Lista dos controles específicos da API do OpenLayers que serão inseridos ou não no mapa

Tipo

{object}

Default

{PanZoomBar:true,LayerSwitcher:true,ScaleLine:true,OverviewMap:true}

MINEXTENT

Menor extensão geográfica que pode ser mostrada no mapa

Tipo

{array}

Default

{-0.001, -0.001, 0.001, 0.001]}

MAXEXTENT

Maior extensão geográfica que pode ser mostrada no mapa

Tipo

{array}

Default

{[-180, -90, 180, 90]}

LAYERSADICIONAIS

Array com objetos do tipo LAYER que serão adicionados após a crioação de todos os layers default.

Tipo

{array}

i3GEO. Interface. googlemaps

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.

Summary
Propriedades
OPACIDADEValor da opacidade das camadas i3geo do mapa
TIPOMAPATipo de mapa que será usado como default, conforme constantes definidas na API do Google Maps.
Variaveis
ZOOMSCALEArray com a lista de escalas em cada nivel de zoom utilizado pelo Google
PARAMETROSLAYERParâmetros adicionais que são inseridos na URL que define cada layer
posfixoString acrescentada à url de cada tile para garantir a remoção do cache local
Functions
adicionaKmlInsere no mapa uma camada KML com base na API do Google Maps
adicionaNoArvoreGoogleAcrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
ativaDesativaCamadaKmlAtiva ou desativa uma camada do nó de layers KML

Propriedades

OPACIDADE

Valor da opacidade das camadas i3geo do mapa

Varia de 0 a 1

Default

0.8

Tipo

{Numeric}

TIPOMAPA

Tipo de mapa que será usado como default, conforme constantes definidas na API do Google Maps.

Default

”roadmap”

Tipo

{stringGoogle API constante “satellite”|”roadmap”|”hybrid”|”terrain”}

Variaveis

ZOOMSCALE

Array com a lista de escalas em cada nivel de zoom utilizado pelo Google

Tipo

{array}

PARAMETROSLAYER

Parâmetros adicionais que são inseridos na URL que define cada layer

Tipo

{string}

posfixo

String acrescentada à url de cada tile para garantir a remoção do cache local

Type

{string}

Functions

adicionaKml

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

Parametros

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

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”);

Parametros

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

ativaDesativaCamadaKml: function(obj,
url)

Ativa ou desativa uma camada do nó de layers KML

Parametro

obj {object}objeto do tipo checkbox que foi ativado/desativado
url {string}url do KML

i3GEO. Interface. googleearth

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

Summary
Variaveis
PARAMETROSLAYERParâmetros adicionais que são inseridos na URL que define cada layer
posfixoString acrescentada à url de cada tile para garantir a remoção do cache local
Propriedades
GADGETSLista dos controles específicos da API do Google Earth que serão inseridos ou não no mapa
Functions
adicionaKmlInsere no mapa uma camada KML com base na API do Google Earth
adicionaNoArvoreGoogleAcrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
ativaDesativaCamadaKmlAtiva ou desativa uma camada do nó de layers KML

Variaveis

PARAMETROSLAYER

Parâmetros adicionais que são inseridos na URL que define cada layer

Tipo

{string}

posfixo

String acrescentada à url de cada tile para garantir a remoção do cache local

Type

{string}

Propriedades

GADGETS

Lista dos controles específicos da API do Google Earth que serão inseridos ou não no mapa

Tipo

{object}

Default

{}

Functions

adicionaKml

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

Parametros

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

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”);

Parametros

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

ativaDesativaCamadaKml: function(obj)

Ativa ou desativa uma camada do nó de layers KML

Parametro

obj {object}objeto do tipo checkbox que foi ativado/desativado
atual2gm:
Troca o renderizador do mapa passando a usar a API do Google Maps
redesenha: function()
Aplica o método redesenha da interface atual.
aplicaOpacidade: function(opacidade)
Aplica um fator de opacidade a todos os layers do mapa
atualizaMapa: function()
Aplica o método atualizaMapa da interface atual.
atualizaTema: function(retorno,
tema)
Aplica o método atualizaTema da interface atual
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
inicia: function(w,
h)
Inicia a interface
ativaBotoes: function()
Ativa os botões de ferramentas
ativaMenuContexto: function()
Ativa o menu de contexto acionado com o botão direito do mouse
adicionaKml: function(pan,
url,
titulo,
ativo)
Insere no mapa uma camada KML com base na API do Google Maps
adicionaNoArvoreGoogle: function(url,
nomeOverlay,
ativo,
id)
Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
ativaDesativaCamadaKml: function(obj,
url)
Ativa ou desativa uma camada do nó de layers KML
adicionaKml: function(pan,
url,
titulo,
ativo)
Insere no mapa uma camada KML com base na API do Google Earth
adicionaNoArvoreGoogle: function(url,
nomeOverlay,
ativo,
id)
Acrescenta na árvore de camadas um novo tema no nó que mostra os arquivos KML inseridos no mapa
ativaDesativaCamadaKml: function(obj)
Ativa ou desativa uma camada do nó de layers KML