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@gmai.nosp@m.l.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.

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 relação ao topo do mapa.
BARRABOTOESLEFTDistância da barra de botões em relação ao lado esquerdo do mapa.
BARRADEZOOMTOPDistância da barra de zoom em relação ao topo do mapa.
BARRADEZOOMLEFTDistância da barra de zoom em relaçã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
atual2olTroca o renderizador do mapa passando a usar a API do Open Layers
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
ligaDesligaLiga/desliga um tema
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.openlayersInterface com motor de navegação baseado na API OpenLayers
Propriedades
parametrosMapPermite incluir parametros da API do OpenLayers não previstos no i3Geo.
FUNDOTEMAEstilo “background” do nome do tema na árvore de camadas 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
MAPOPTIONSObjeto contendo opções que serão utilizadas no construtor do mapa conforme a API do GoogleMaps
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,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=googlemaps.phtml 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 relação ao topo do mapa.
BARRABOTOESLEFTDistância da barra de botões em relação ao lado esquerdo do mapa.
BARRADEZOOMTOPDistância da barra de zoom em relação ao topo do mapa.
BARRADEZOOMLEFTDistância da barra de zoom em relaçã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
atual2olTroca o renderizador do mapa passando a usar a API do Open Layers
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
ligaDesligaLiga/desliga um tema
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 relação ao topo do mapa.

Tipo

{number}

Default

{12}

BARRABOTOESLEFT

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

Tipo

{number}

Default

{3}

BARRADEZOOMTOP

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

Tipo

{number}

Default

{12}

BARRADEZOOMLEFT

Distância da barra de zoom em relaçã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

{openlayers|googlemaps|googleearth}

Default

{“openlayers”}

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

atual2ol

atual2ol:

Troca o renderizador do mapa passando a usar a API do Open Layers

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,
layer)

Aplica um fator de opacidade a todos os layers do mapa

Parametro

opacidade {numerico}0 a 1
layer {string}(opcional) se for vazio aplica ao mapa todo

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

ligaDesliga

ligaDesliga: function(obj)

Liga/desliga um tema

Parametros

{object} objeto do tipo checkbox que foi acionado na arvore de camadas

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.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
parametrosMapPermite incluir parametros da API do OpenLayers não previstos no i3Geo.
FUNDOTEMAEstilo “background” do nome do tema na árvore de camadas 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

parametrosMap

Permite incluir parametros da API do OpenLayers não previstos no i3Geo.  Veja em http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Map-js.html

Exemplo i3GEO.Interface.openlayers.parametrosMap.scales = [50000000, 30000000, 10000000, 5000000];

FUNDOTEMA

Estilo “background” do nome do tema na árvore de camadas 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
MAPOPTIONSObjeto contendo opções que serão utilizadas no construtor do mapa conforme a API do GoogleMaps
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

MAPOPTIONS

Objeto contendo opções que serão utilizadas no construtor do mapa conforme a API do GoogleMaps

Exemplo de uso

i3GEO.Interface.googlemaps.MAPOPTIONS = {maxZoom:5};

https://developers.google.com/maps/documentation/javascript/reference#MapOptions

Tipo

{MapOptions}

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
atual2ol:
Troca o renderizador do mapa passando a usar a API do Open Layers
redesenha: function()
Aplica o método redesenha da interface atual.
aplicaOpacidade: function(opacidade,
layer)
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
ligaDesliga: function(obj)
Liga/desliga um 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
inicia: function(w,
h)
Inicia a interface
ativaBotoes: function()
Ativa os botões de ferramentas
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
Close