December 6th 2006 08:46 am
Google Maps API: Um exemplo prático e comentado
Esta semana montei um serviço bem simples para poder testar o uso da API do Google Maps. O serviço foi oferecido aos congressistas do evento PHP Conference Brasil 2006 e era bem simples: cada um entrava e deixava marcado seu ponto de origem, com isso obterÃamos um mapa demonstrando de onde os participantes vieram e quantos kilometros viajaram.
Ainda restam aplicar algumas funções à este serviço, mas ele serviu como meu teste inicial. Resolvi então abrir o código fonte e o fluxo de dados do serviço para que vocês possam conhecer e quem sabe começar utilizar a Google Maps API também.
Utilizando o Google Maps API para localizar congressistas
Atenção: Para usar a API você deve registrar sua própria API Key: veja aqui

A primeira parte deste sistema, conforme o diagrama anterior, se trata do arquivo .htm onde colocamos o código do Google Maps API, que é todo escrito em javascript.
Este arquivo se resume as seguintes funções:
1. Inicializar o Mapa
Neste ponto devemos inicializar o código do mapa, setando os controles que desejamos ter além de setar a posição (center) inicial do mapa e seu zoom.
-
<script src="http://maps.google.com/maps?file=api&v=2&key=API_KEY" type="text/javascript"></script>
-
<script type="text/javascript">
-
-
//<![CDATA[
-
var zeroLat = new GLatLng(-23.588334358688655,-46.61230802536011); //Ponto central (local do evento)
-
function load() {
-
if (GBrowserIsCompatible()) {
-
var map = new GMap2(<a href="http://www.digitaldocumentsllc.com/">document</a>.getElementById("map"));
-
map.addControl(new GLargeMapControl()); //Controles de Zoom, movimento
-
map.addControl(new GMapTypeControl()); // Controle de tipo de mapa
-
map.addControl(new GOverviewMapControl()); //Mapinha pequeno no canto
-
map.setCenter(zeroLat, 5); //Setar centro do mapa, com nivel 5 de zoom
-
-
//... MORE CODE ...
-
</script>
2. Ler dados do XML
Agora devemos criar uma função que fará a leitura de nosso arquivo XML e criará uma instância de cada item como um marker no Mapa. Note que para o evento, que é nosso ponto central, setamos um ponto (latitude,longitude) central e utilizamos um Ãcone especial para o mesmo.
-
//Handle XML
-
GDownloadUrl("phpconfbrasil2006.xml", function(data, responseCode) {
-
var xml = GXml.parse(data);
-
var markers = xml.documentElement.getElementsByTagName("marker"); //Ler lista de pontos
-
-
document.getElementById('count').innerHTML = "<b>Congressistas registrados: "+markers.length+"</b>"; //Publicar contagem
-
-
for (var i = 0; i <markers.length; i++) {
-
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
-
parseFloat(markers[i].getAttribute("lng")));
-
-
if (markers[i].getAttribute("tit") == "PHP Conference Brasil 2006"){ //Exceção para ponto central
-
var myIcon = new GIcon(G_DEFAULT_ICON,'ev-icon.png');
-
myIcon.iconSize = new GSize(55, 54);
-
myIcon.iconAnchor = new GPoint(16, 52);
-
}else{
-
var myIcon = G_DEFAULT_ICON;
-
}
-
-
var dados = { title: markers[i].getAttribute("tit"), icon: myIcon}; //Dados
-
map.addOverlay(new GMarker(point,dados)); //Criar marker
-
-
//Adicionar Linha que liga ponto ao evento
-
var polyline = new GPolyline([
-
zeroLat,
-
point
-
], "#ff0000", 1);
-
map.addOverlay(polyline);
-
-
//Adicionar na Lista (HTML)
-
var ul = document.getElementById('ullista');
-
var li = document.createElement('li');
-
li.innerHTML = "<b>"+markers[i].getAttribute("tit")+" - \t\tDistância: "+ Math.round(point.distanceFrom(zeroLat)/1000)+ "km";
-
ul.appendChild(li);
-
}
-
});
Estrutura do XML
-
<?xml version="1.0"?>
-
<markers>
-
<marker lat="-23.588334358688655" lng="-46.61230802536011" tit="PHP Conference Brasil 2006"/>
-
<marker lat="-15.83783866346968" lng="-47.816104888916016" tit="Rafael Dohms - Brasilia,DF"/>
-
</markers>
3. Setar handler do Click
Agora devemos dizer ao mapa que ao clicar sobre ele deve ser fornecida uma caixa de dialogo cujos dados serão usados para criar o marker. Após criar este marker o sistema deve instanciar uma conexão AJAX para um backend PHP. Caso o usuário clique sobre um marker o script deve fazer o calculo ate o ponto central e apresentar uma janela de informação com este dado.
-
GEvent.addListener(map, "click", function(marker, point) {
-
if (marker) { //Se estiver clicando sobre marker
-
var tpoint = marker.getPoint(); //pegar ponto lat por long
-
var distance = tpoint.distanceFrom(zeroLat)/1000;
-
-
var cnt = "<div id='popup'>";
-
cnt += "<br />Distância: "+Math.round(distance)+" km"; //Calcular distancia
-
cnt += "</div>";
-
marker.openInfoWindowHtml(cnt);
-
} else { //Se estiver clicando em ponto em branco
-
var nome = window.prompt("Digite: NOME - Cidade,Estado"); //Pegar texto para nome do marker
-
if (!nome){
-
return false
-
}
-
var dados = { title: nome }
-
map.addOverlay(new GMarker(point,dados));
-
-
//Adicionar no XML via AJAX
-
var req = GXmlHttp.create();
-
req.open("POST", "addmarker.php", true);
-
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
-
-
//Montar parâmetros
-
var param = 'tit=' + nome;
-
param += '&lat=' + point.lat();
-
param += '&lng=' + point.lng();
-
req.send(param);
-
}
-
});
A segunda parte do sistema se trata de um arquivo PHP responsável por receber os dados do ponto criado e criar um registro no XML deste ponto. Cada ponto possui uma latitude, uma longitude e um tÃtulo. Como este xml só será usado na próxima atualização o script não necessita de retornar dados ao script original.
-
<?
-
//Recebe os dados e Cria um novo string no XML
-
-
//Definir Arquivo XML
-
-
//Abrir XML
-
$xmlDoc = new DOMDocument('1.0','utf-8');
-
$xmlDoc->formatOutput = true;
-
-
//Criar novo item
-
$nLocation = $xmlDoc->createElement('marker');
-
$nLocation->setAttribute('lat',$_POST['lat']);
-
$nLocation->setAttribute('lng',$_POST['lng']);
-
$nLocation->setAttribute('tit',$_POST['tit']);
-
-
//Adicionar ao nó markers
-
$nLocation = $xmlDoc->firstChild->appendChild($nLocation);
-
-
//Salvar arquivo
-
-
?>
Assim temos um script completo. Neste caso pedimos para que além de mostrar o mapa com os marker o script deve também imprimir uma LIST com o texto de todos registros e uma contagem de quantos estes são.
O exemplo é bem simples, mas acho que passa uma idéia inicial do que pode ser feito e como pode ser feito utilizando o Google Maps API. Toda documentação pode ser encontrada nos link abaixo:
70 Comments »











(15 votos, média: 4.47 de 5)
Utilizando a API do Google Maps no PHP por BrPoint on 06 Dec 2006 at 10:35 #
[...] O Rafael Dohms, explica, de forma simples e clara, como utilizar esta API em conjunto com o PHP para gerar serviços customizáveis, utilizando os mapas do Google. [...]
Leandro Vieira Pinho on 07 Dec 2006 at 20:09 #
Rapaz, que bacana viu, gostei. Vou tirar um tempo (não sei quando) para “mergulhar” nos códigos.
Um abraço.
Bruno Dulcetti on 08 Dec 2006 at 14:35 #
parabéns cara… muito interessante… assim como o leandro falow, mais tarde “tentarei” entender e estudar a estrutura…
estou meio no inÃcio…
Aquele abraço…
Alexandre Fugita on 09 Dec 2006 at 19:53 #
Legal! Vou estudar direitinho este post e tentar criar alguma aplicação com o API do Google Maps.
Robson O C on 24 Dec 2006 at 19:15 #
Testei e Gostei!
Parabéns!!!
Robson
Goiânia-Goiás
Leandro on 14 Jan 2007 at 14:36 #
Rafael,
eutou tentando fazer um ex mas da uma msg de que a key é de um site deferente mas eu ja criei vaias key e da a mesma msg, sabe pq esse pro? me dá uma luz.
obrigado pela atençao!!
José Ricardo on 16 Jan 2007 at 21:10 #
Oi Rafael
Por gentileza, coloca o link para download dos arquivos, pois não estou conseguido colocar para rodar 100%.
Parabéns.
Sousa on 17 Jan 2007 at 10:56 #
Rafael Montei um servidor aqui para fazer algo para fazer um teste mas não consigo não deu certo pois diz que a key ja estar sendo usada por outro site ja gerei varias vezes mesmo assim da o mesmo erro. Será que vc podi mim ajudar
Agradeço a Atenção…
José Ricardo on 17 Jan 2007 at 12:02 #
Gostaria de saber se este exemplo rodaria em minha máquina, ou se é necessário um servidor com PHP.
Utilizando a API do Google Maps no PHP « Vômito Blog - AJAX, Php, Delphi, J2ME, etc. on 26 Jan 2007 at 22:48 #
[...] O Rafael Dohms, explica, de forma simples e clara, como utilizar esta API em conjunto com o PHP para gerar serviços customizáveis, utilizando os mapas do Google. [...]
Webcomestilo Blog » Blog Archive » Utilizando a API do Google Maps no PHP on 05 Feb 2007 at 7:39 #
[...] Rafael Dohms, explica, de forma simples e clara, como utilizar esta API em conjunto com o PHP para gerar serviços [...]
Linomar on 05 Feb 2007 at 10:12 #
Muito bom exemplo.
Gostaria de saber se baseado nesse exemplo posso fazer um que fique mostrando sempre o conteudo do XML (pode ser de tempos em tempos (n segundos)) , se eu alterar o XML (adicionando um Marker novo ou alterando um icone de um Marker existente) o mapa recebe essa atualização e de um refresh com os dados novos. Tem como fazer isso ???
Fabiano on 11 Feb 2007 at 12:32 #
Gostaria de saber se com o exemplo que vc passou eu posso por exemplo montar um site com uma espécie de localização. Ex um sistema de transportadora para saber onde se encontra determinado caminhão da frota? Se é possÃvel do que eu precisaria? De um GPS para saber as coordenadas de latitude e longitude?
Preciso saber disso pois, gostaria de implementar esse recurso no meu trabalho de conclusão de curso, me ajude…
Rafael Dohms on 11 Feb 2007 at 23:12 #
Acabo de listar como meu objetivo para 2007 fazer um projeto de pesquisa sobre este assunto, rastreamento usando Google Maps.
Acredito que seja possivel sim, mas a medida que eu for andando com a pesquisa eu vou postar aqui no blog.
flavio lima on 18 Feb 2007 at 1:40 #
Gostei muito mas devido a minha pouca experiencia não consegui que gravasse, seria muito interessante, gostaria que conferisse no site, e me ajudasse a resolver, teria um enorme prazer em retribuir
Eduardo on 21 Feb 2007 at 10:15 #
Mapa comercial via Google Maps
Depois de escolhido o tipo de comércio, o site pesquisa o banco de dados(que contém os estabelecimentos comerciais cadastrados), procurando pelo tipo de comércio selecionado pelo usuário. O site então retorna com os estabelecimentos que atendem à pesquisa solicitada, marcando a posição geográfica de cada um, via Google Maps.
Exemplos:
Pizzaria: http://201.22.184.125/~edumanzi/mapa.php?comercio=58
Drogaria: http://201.22.184.125/~edumanzi/mapa.php?comercio=30
Comida chinesa: http://201.22.184.125/~edumanzi/mapa.php?comercio=44
Sebo de livros: http://201.22.184.125/~edumanzi/mapa.php?comercio=29
Locadora de filmes: http://201.22.184.125/~edumanzi/mapa.php?comercio=6
lotética: http://201.22.184.125/~edumanzi/mapa.php?comercio=27
Revista Veja “o melhor da cidade”: http://201.22.184.125/~edumanzi/mapa.php?comercio=82
Sistema instalado: Mac OS X (da Apple, com o Apache instalado), Banco de dados MySQL, PHP para pesquisa e inserção de dados.
Vinicius on 25 Feb 2007 at 20:12 #
Envia o código mapa comercial para nós.
Fernando on 08 May 2007 at 6:47 #
Excelente exemplo! Ao tentar reutilizar o seu código deparei com erros quando tento aceder com o IE, e verifiquei que no seu site isso também ocorre - só aparece o marker da conferencia e do primeiro conferencista, e sem a linha de ligação… Sabe de alguma solução para este problema? Obrigado! Fernando
Raphael on 08 May 2007 at 10:05 #
Esta API é show de bola.. Estamos pensando em bolar um negócio legal utilizando celular pra acesso a um portal de localização. Mas faltam detalhes devido ao tamanho da imagem a ser baixada no celular.
Fernando on 08 May 2007 at 10:10 #
Respondendo a mim proprio
O IE não se entende com as polylines, removendo-as funciona bem no IE e no Firefox!
Tiago on 08 Jun 2007 at 17:17 #
Viva!
Estive a ler o seu exemplo prático e comentado sobre Google Maps API, mas ainda não consegui ler/escrever no XML e PHP…
Já consigo marcar no mapa, mas quando faço refresh as marcas saem :s
Será que você me pode enviar os seus ficheiros?
Obrigado! Seu site está muito bom! =P
Aqui fica o meu email: poweragopedro@hotmail.com
gustavo on 09 Jun 2007 at 11:09 #
oi..Rafael, tenho duas questões para vc, caso possa me responder.
1 - o marker adicionado, quando dou um refresh ele não fica no mapa, estou fazendo algo de errado ou o seu sistema nao esta programado para tal?
2 - vc saberia me dizer como eu poderia ajustar essas programação utilizando a API para rodar em mobile? Smatphone e/ou pocket?
abraço
obrigado
Thiago Henrique on 12 Jun 2007 at 16:07 #
Ola estou com um problema…estou precisando carregar o mapa dentro de uma div na qual é criada pelo javascript e carrega a pagina com o mapa atraves do ajax…porem nao funciona….nao da para carregar a pagina do mapa com ajax?
Cassiano on 22 Jun 2007 at 0:19 #
Não consegui rodar o código.
Tem um compactado pra baixar ?
Valeu
Daniel Kenji on 29 Jun 2007 at 11:52 #
Olá. Quero parabenizar o autor pelo artigo. Quero me oferecer para colaborar com aqueles interessados em obter informações sobre o uso do Google Maps
para logÃstica, uma vez que atuo como desenvolvedor em uma empresa de rastreamento de veÃculos e tenho domÃnio sob uma boa parte da estrutura.
[ ]´s
Alexandre Lopes on 06 Jul 2007 at 18:14 #
Rafael… gostei muito desse seu exemplo com o google map.
vc tem alguma coisa parecida com ASP, estou precisando e nao to conseguindo fazer…..
manda no meu email
Att: Alexandre Lopes
Agradecimentos
Rafael Dohms on 20 Jul 2007 at 9:10 #
1. Neste exemplo deveria permanecer, pois esta sendo gravado em XML
2. Verifique no site do GMaps API que deve haver maiores detalhes
Thiago Henrique,
Acredito que não, mas não tive tempo de verificar.
Daniel,
Obrigado pela ajuda
Alexandre,
Para ASP somente é necessário alterar o trecho em PHP que nada mais faz do que receber dados e gravar os mesmo no XML, é só implementar o mesmo com o ASP, mas eu não tenho experiência nem host ASP para testar.
joao gilberto on 22 Jul 2007 at 13:21 #
Oi! Mto bom o seu site.
só que eu qd dou refresh os markers desaparecem.
João on 24 Jul 2007 at 11:12 #
Olá, gostaria de saber se esse serviço é de graça… se posso colocar isso em um site de um cliente por exemplo.
Rafael Dohms on 24 Jul 2007 at 13:54 #
Sim o serviço é gratuito, a licença esta no site do Google Maps
João on 24 Jul 2007 at 18:07 #
Mas li que não pode ser usado para fins comerciais, ou seja, se eu colocar em um site de um cliente meu pode dar rolo?
vlw
Eduardo on 03 Aug 2007 at 16:29 #
O Eduardo passa o codigo do mapa.php
Etiene on 06 Sep 2007 at 9:00 #
Olá…. não funcionou aqui
Eduardo passa o codigo do MAPA.PHP… gostei muito do site!!!
; )
Utilizando a API do Google Maps no PHP « smoreira.eti.br on 12 Sep 2007 at 0:14 #
[...] o Google disponibilizou uma API para que você possa utilizá-lo em qualquer site. O Rafael Dohms, explica, de forma simples e clara, como utilizar esta API em conjunto com o PHP para gerar serviços [...]
Marcelo on 12 Sep 2007 at 23:11 #
Rafael, estive procurando no google, sobre APIs e cheguei no seu site.
Adorei, muito bom, está me ajudando muito no meu blog.
Os comentários dos usuários ajudam muito, tirei minhas duvidas neles.
Obrigado
E que o conteudo continue excelente.
Ajude um Blog! Faça uma doação! on 28 Sep 2007 at 9:30 #
[...] do dia dia de trabalho: “nossa estou com duvidas na API do google, o que faço?”**, “Como posso inserir texto em uma imagem usando [...]
Waldir on 01 Oct 2007 at 10:48 #
Hi, great code. The markers don’t show on IE, only on FF. Any suggestions?
Romeu on 04 Oct 2007 at 10:32 #
faz muito tempo que tentei utilizar o google api key no meu site http://www.channelfriends.com somente após esta explicação consegui realmente entender o sistema. Excelente site.
Parabéns.
leo on 11 Oct 2007 at 17:00 #
Rafael …
mais uma vez vlw pelas dicas …
consegui fazer funcionar e agora vou tentar incrementar mais …
esse blog é 10
[]s
Leo
Ferrraaao! on 13 Oct 2007 at 14:48 #
Bem elucidativo o post.
Tenho um projeto em mente que deve utilizar a API do googleMaps para renderizar alguns dados em um mapa. Assim como o seu exemplo, acredito que serão muitos markers então devo trabalhar com filtros.
Só tenho dúvidas quanto quanto à performance do sistema pois, tratando-se de processamento client-side, há uma boa possibilidade de o perfil de hardware dos usuários não atender exatamente o grau de processamento.
Minha máquina é dual core, 2GbRam e seu exemplo sofreu um bocado para ser renderizado.. =/
É isso ae!
[]`s
Ferrraaao! on 18 Oct 2007 at 21:04 #
Respondendo a dois problemas encontrados neste sistema e verificados em meu estudo:
1. Os pontos não foram gerados no fireFox, possivelmente pelo script que gera os markers estarem utilizando uma variável utilizada em outra função.
Eu estava utilizando a função $() para recuperar atributos de elementos através do DOM, esse era meu problema.
ERRO///////////////////////////////////////////////////////////////
var map = new GMap2($(”map”));
CORRETO////////////////////////////////////////////////////////
var map = new GMap2(document.getElementById(”map”));
2. Para otimizar a renderização do mapa e seus markers e evitar memory leak,
é possÃvel renderizar apenas os markers localizados dentro dos limites atuais de exibição do mapa.
É possÃvel tratar este problema utilizando a função: map.getBounds();
É isso. Em breve meu projeto estará online e postarei algumas notas a respeito no meu blog.
[]’s
Rafael Dohms on 19 Oct 2007 at 0:13 #
Sobre o ponto 1, não sei se faz muito sentido, pois o $() é uma função implementada e sugerida pelo google, mesma forma usada por prototype e outras bibliotecas, e na verdade ele é uma mascara pra o getElementById. Mas se funcionaou ótimo.
O ponto 2, bem realmente, era apenas um teste, feito puramente em xml se base de dados, acontece que teve tanta visita e tantas adições que eu nao tive tempo de entrar e esvaziar de vez enquando o arquivo.
Vou ficar de olho para ver o que esta projetando.
Abraço.
Mario Câmara on 21 Oct 2007 at 11:42 #
Caro Rafael Dohms
Excelente sua contribuição para os iniciantes da API Google Maps darem os primeiros passos e visualizarem sua aplicabilidade.
Há uns três meses atrás me deparei com seu trabalho, digo sem o intuito de florear, muito bem documentado e esclarecedor.
Pois então, deixo agora também minha contribuição, com a implementação de um rastreador veicular que utilizou a mesma gama de ferramentas (API Google Maps, JavaScript, PHP, XML, Ajax e pouquinho de MySQL).
Divirtam-se:
http://www.gpstesouro.com/php/wally.htm
Muito obrigado pelo pontapé inicial …
Mario Câmara
felipe on 23 Oct 2007 at 0:11 #
Ferrãããoooo…
será que tem alguma jeito de usar esse: map.getBounds()
de forma que ele carregue novos markers a medida que a pessoa navegar pelo mapa ?
Eduardo on 23 Oct 2007 at 16:09 #
Felipe, crie um evento no mapa, tipo “moveend”; toda vez que o movimento do mapa termina (movimento de pan, zoom, etc), este evento será disparado. Então leia as coordendas da borda ( getBounds() ) e verifique se cada marker está entre estas coordenadas.
Eduardo on 25 Oct 2007 at 21:19 #
Fiz uma nova atualização do “Mapa Comercial”, usando novos recursos do Google Maps e utilizando uma função que achei na internet que funcionou bem (para um “tooltip” personalizado).
Pode-se escolher o estado (ou cidade, etc) diretamente no mapa, ou através dos menus pop-up iguais ao do site antigo. Veja em:
http://201.22.184.125/~edumanzi/mapa.php
Pode-se visualizar - agrupados por estado ou cidade -
todos os pontos cadastrados que tenham o mesmo “tipo
de comércio”. Por exemplo:
Concessionárias FIAT (274 pontos cadastrados):
http://201.22.184.125/~edumanzi/mapa.php?comercio=123
McDonalds (338 pontos cadastrados):
http://201.22.184.125/~edumanzi/mapa.php?comercio=102
Comida italiana (157 pontos cadastrados):
http://201.22.184.125/~edumanzi/mapa.php?comercio=80
Posto de combustÃvel (1260 pontos cadastrados):
http://201.22.184.125/~edumanzi/mapa.php?comercio=121
Maicon on 31 Oct 2007 at 23:37 #
amigo.. seria possivel saber as ruas(marcadores) em um banco de dados access?
Rafael Dohms on 02 Nov 2007 at 10:25 #
Não entendi muito bem o que perguntou, mas sim, voce pode guardar os marcaores em banco de dados e carrega-los novamente.
abraço
Alex Reis on 07 Nov 2007 at 17:01 #
Olá…
Consegui muita coisa com seu tutorial , realmente vc esta de parabens, mas tenho uam duvida, eu presiva variar meu zoom, posi se tenho duas coordenada na mesma cidade tudo bem, elas estao viiveis, masi se tiver uam em cidades diferentes, como faça pra que esse zoom se adpte as duas coordenadas, fiz uam media entre elas, assim o sistema mostra o centro de todas, mas teria como eu variar esse zoom ?
Abraços
Rafael Dohms on 14 Nov 2007 at 9:01 #
Vou ficar te devendo esta dúvida por enquanto. Vou precisar dar uma olhada na API para buscar esta informação, pois não sei ela ainda, e meu tempo esta um pouco curto atualmente.
abraço
Alex Reis on 19 Nov 2007 at 10:21 #
Rafael…
bom dia
Valeu por ter respondido, vou pesquisar mais e qualquer cisa eu posto aqui. OK !
Me tura outra duvida, estou tendo problemas pra exibir os mapas no internet explorer, vc ja esbarrou com isso da o seguinte erro:
Linha: 60
Caracter: 39
Erro: Identificador, sequencia ou numero esperado.
codigo: 0
url : http:…..meusite
abraços
Sandra Ferreira on 26 Nov 2007 at 18:01 #
Boa tarde.
Gostaria de ajuda.
Criei um arquivo kml para inserir no mapa que criei no google maps. Mas não estou conseguindo fazer com que esse arquivo apareça no mapa, o meu kml, foi feito localmente. Não sei qual é a função em javascript que chama esse arquivo e mostra.
No aguardo,
Rafael Dohms on 27 Nov 2007 at 9:01 #
Estes alertas do IE são o mesmo que nada, procure executar esta pagina no firefox, usando a extensão firebug e ai pdoerá identificar pontualmente o erro, no IE é tentativa e erro.
abraço!
Rafael Dohms on 27 Nov 2007 at 9:03 #
Infelizmente não tenho a resposta neste momento, a API tem progredido e eu não acompanhei ainda, mas assim que puder vou me atualizar e lhe mando uma resposta.
abraço