INTRODUÇÃO

A API (Interface de programação de Aplicativos) Java Script tem como objetivo ajudar programadores na implementação de nossos mapas e serviços oferecidos, podendo ser utilizada de forma simples por usuários em aplicações que utilizam os principais navegadores compatíveis com Java Script. Utilizando a API v3 você terá mais de 100 funções a sua disposição que ajudará a implementar recursos como zoom, criação de pontos, rotas, criar botões personalizados adicionar balões em pontos e etc. Para isso basta chamar as funções e utilizar os parâmetros corretos . Abaixo, segue um exemplo de como adicionar nosso mapa e um ponto nele.


Dessa forma já é possível visualizar nosso mapa com um ponto conforme a imagem abaixo.

Objetivos

Permitir uma rápida integração do servidor de mapas do Geoportal com o sistema do cliente.

Requisitos

A aplicação é um conjunto de scripts desenvolvidos usando técnicas AJAX (que usa Javascript, XML, JSON), que pode ser inserida em qualquer tipo de aplicação web. Tem como requisito a necessidade de configuração do browser para aceitar Javascript. É recomendado que os arquivos estejam em um “servidor” para que seja possível executá-los.

Distribuição

A aplicação é distribuída através do arquivo http://www.geoportal.com.br/Api_Js_v3/v3.jse pelo arquivo de CSS http://www.geoportal.com.br/Api_Js_v3/theme/default/style.css.

Autenticação

A autenticação da aplicação é feita através de dois parâmetros. Uma delas é o ticket, que deve ser inserido em todo objeto "Mapa" instanciado. Caso você não tenha um, entre em contato com a nossa área comercial. Além do ticket, a aplicação verifica o domínio (página web) utilizado. Se o domínio estiver cadastrado no nosso banco de dados, a aplicação vai ser acessada normalmente, caso contrário, o acesso é negado. Esclarecendo melhor a parte de autenticação de domínio, podemos dizer que a aplicação "captura" o endereço do navegador utilizado e valida o mesmo. Por favor, entre em contato com nosso suporte técnico caso tenha problemas na autenticação.

Observações

Se você tiver um servidor interno e acessá-lo como http://www.empresa.com/pag_ajax.html, o que a aplicação vai achar é o www.empresa.com, então esse é o domínio que deve ser passado para ser inserido no nosso banco de dados e a autenticação seja feita corretamente. É interessante que se tenha pelo menos dois domínios cadastrados: um para utilizar externamente (em produção); e outro para utilizar internamente (para desenvolvimento).

Especificação

Os mapas estão em formato "Tiles", no sistema de coordenadas Geográfico (lat/long) e no Datum WGS84.

INTEGRAÇÃO DA APLICAÇÃO AJAX COM SISTEMA DO CLIENTE

Introdução

A aplicação AJAX possui conceitos básicos para sua implementação, no qual deve segui-los para utilização de objeto "Mapa". Utilizaremos esse conceito implementando em uma página HTML.

Inclusão da aplicação AJAX no HTML

Antes de qualquer outra configuração, é necessário habilitar o acesso aos mapas e as funções para a página, dentro do cabeçalho da página (tags < HEAD >< /HEAD >), o seguinte script:
< script language='javascript' type='text/javascript' src='http://www.geoportal.com.br/Api_Js_v3/v3.js'>< /script>
Ainda dentro do cabeçalho dentro de um script do tipo JavaScript, é necessário criar um objeto para poder identificar o mapa utilizado (podendo utilizar mais de um mapa em uma mesma página web) estruturando da seguinte forma:
multispectral(< valor longitude>, < valor latitude>, < nível zoom>, < identificação do mapa>, < função load>, < função callback client>);
Exemplos:
Mapa = new multispectral (-52.9, -14.5, 0, 'map', Ticket, true, 'callbackClient');
Mapa2 = new multispectral (-46.67, -23.6262, 12, 'map2', Ticket, false, 'callbackClient');


É necessário criar uma função que inicialize somente o objeto “Mapa”, criando para cada mapa a ser inserido na página web:

function startup() {
Mapa = new multispectral(-52.9, -14.5, 0, "map", Ticket, false, "ErroCallback");
}


No corpo da página (tags < BODY >< /BODY >) deve ser definida a chamada da função que inicializa o objeto mapa. Esta função deve ser chamada no evento "onload" do corpo da página, chamando todas as inicializações de mapas existentes.
Exemplo:
< body onload = "startup (); startup2();">< /body>


Além disso, deve ser criada uma DIV para cada mapa criado que servirá de zona limítrofe de visualização para a aplicação que identifica o objeto mapa através do seu “id”. Pode ser simplesmente chamada e configurada o seu tamanho através do style da DIV ou com a utilização de tabelas. Para tanto, é necessário que a mesma tenha pelo menos a seguinte propriedade: < div id="map">< /div>

Exemplo de uso da aplicação AJAX

Veja um exemplo de inclusão da aplicação AJAX:
< html>
< head>
< script>
var Mapa;
var Ticket = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
function startup() {
Mapa = new multispectral(-52.9, -14.5, 0, "map", Ticket, false, "callbackClient ");
}
< /script>
< /head>
< body onload = "startup ();">
< div id="map" style="width:800px; height:600px;" >< /div>
< /body>
< /html>



Adição de funções para a aplicação

Tomando como ponto de partida o exemplo mostrado, podem ser inseridas funções que são executadas assim que o mapa é carregado. Estas funções devem ser inseridas na função load (conforme o exemplo abaixo) e deve ser adicionado depois da função startup:

function startup (){
Mapa = new multispectral (-52.9, -14.5, 0, "map", Ticket, true, "callbackClient ");
}

function load(){
Mapa.Client.addPoint (...);
Mapa.Client.addPolygon (...);

}

A função load()

Sempre que houver a necessidade de que alguma função seja executada imediatamente após o carregamento do mapa, se faz necessária a criação da função load(). Ela deve conter todas as funções que devem ser executadas.
O argumento indicador da presença da função load está na função que instancia o objeto mapa em seu sexto argumento através de uma variável com valor lógico, sendo "TRUE" para execução do load() e "False" para não execução.:

Mapa = new multispectral (-52.9, -14.5, 0, "map", Ticket, true, "callbackClient ");
Mapa = new multispectral (-52.9, -14.5, 0, "map", Ticket, false, "callbackClient ");

Métodos (Funções)

Ver métodos