Planeta Tutorial
Planeta Tutorial

Ola Visitante, Seja bem vindo(a) ao Planeta Tutorial, esta-mos em construção em breve estaremos prontos para lhe atender e fornecer-lhe tutoriais e dicas diversas para você aprimorar os seus conhecimentos e passar para outros. esperamos que você goste de nosso conteudo e se torne um Membro para poder participar ainda mais de nossas atividades. Vale também ressaltar que, Para você ter acesso aos links por ai , é necessário ser registrado, então se registre .
Se já tem uma conta no forúm,
Logue-se .
Painel de Usuario
Convidado
Mensagens: 0


Alterar
Ver
Tópicos e mensagens
Menu
Redes Sociais
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Translate
Últimos assuntos
» Regras da Área de pedidos
Ter 28 Jun 2011 - 17:31 por Admin

» Efeito Glow
Seg 27 Jun 2011 - 17:39 por Admin

» Efeito Brilho Suave nas fotos
Seg 27 Jun 2011 - 17:33 por Admin

» Arte geométrica com Photoshop
Seg 27 Jun 2011 - 17:31 por Admin

» Efeito Varinha Mágica no Photoshop
Sab 25 Jun 2011 - 15:20 por konan

» Montagem multicolorida com tintas e efeitos diversos
Sab 25 Jun 2011 - 15:18 por konan

» Linhas luminescentes no Photoshop
Sab 25 Jun 2011 - 15:17 por konan

» Segredos sobre design de site
Sex 24 Jun 2011 - 23:00 por konan

» Hardware para iniciantes, parte 5
Sex 24 Jun 2011 - 22:41 por konan

Estatísticas
Temos 26 usuários registrados
O último usuário registrado atende pelo nome de kaironborges

Os nossos membros postaram um total de 144 mensagens em 142 assuntos
Radio Jovem Pan
Relogio
Agosto 2018
SegTerQuaQuiSexSabDom
  12345
6789101112
13141516171819
20212223242526
2728293031  

Calendário Calendário

Visitou

Traçando Mapas ponto a ponto utilização API do Google Maps

Ir em baixo

Traçando Mapas ponto a ponto utilização API do Google Maps

Mensagem por Admin em Dom 12 Jun 2011 - 21:03

Como esse é meu primeiro artigo, primeiramente gostaria de saudar todos os programadores Delphi.

Nesse Artigo vamos ver como se utiliza a API do Google para traçar mapas ponto a ponto dentro da nossa aplicação Delphi, esse exemplo já possui uma chave de acesso, mais se você for colocar em um webserver, terá que gerar uma chave pública do Google[Você precisa estar registrado e conectado para ver este link.] , ai basta trocar a chave do exemplo por essa nova.

Criamos uma nova aplicação no Delphi
File->New->Application.

Você vai precisar colocar no formulário, 1 panel alinhado ao Top, 2 Edit’s aonde serão informados os endereços de Origem e Destino, 1 Botão para executar o evento, e um TWebBrowser.

Após ter criado o formulário e inserido os itens necessários, vamos criar o procedimento responsável por gerar os Mapas.

Para conseguirmos gerar esse mapa e visualizá-lo, vamos criar um arquivo do tipo html em Run Time, para isso vamos utilizar uma StringList que vai receber as informações.

procedure TFormMapa.MontarMapa(AOrigem, ADestino: String);
var
slXSL: TStringList;
key : String;
begin
{verifica se existe o arquivo mapa.html no diretorio, caso exista deleta o mesmo}
if FileExists(ExtractFilePath(Application.ExeName) + 'Mapa.html') then
DeleteFile(ExtractFilePath(Application.ExeName) + 'Mapa.html');

{key é a chave que você vai gerar no site do google maps [Você precisa estar registrado e conectado para ver este link.] }
key := 'ABQIAAAALi1YYAioizP-JR6n3o7OMRQiyMoscvuT0eTAWvcsKO5wYPZiExQMPxbJlvsjqSvYBXk1Ep2PSR-xQg';

{cria a StringList, e atribui a mesma as informações para gerar o arquivo Mapa.Html}
try
slXSL := TStringList.Create;
slXSL.Add('');
slXSL.Add('');
slXSL.Add('');
slXSL.Add('');
slXSL.Add('Marcos Ganz - Traçar rota');
slXSL.Add('');
slXSL.Add('');
slXSL.Add('');
slXSL.Add(' //cria variáveis globais a serem usadas');
slXSL.Add(' var map;');
slXSL.Add(' var directionsPanel;');
slXSL.Add(' var directions;');
slXSL.Add(' var origem;');
slXSL.Add(' var destino;');
slXSL.Add(' //cria mapa quando página carregar');
slXSL.Add(' window.onload = function() {');
slXSL.Add(' //define que o mapa será desenhado dentro do elemento ''mapa''');
slXSL.Add(' map = new GMap2(document.getElementById("map"), { size: new GSize(710,480) })');
slXSL.Add(' //insere o controle que possibilita usuário aumentar/diminuir zoom');
slXSL.Add(' map.addControl(new GLargeMapControl());');
slXSL.Add(' //usando as coordenadas de latitude e longitude para São Paulo/SP');
slXSL.Add(' map.setCenter(new GLatLng(-23.547779, -46.639366), 12);');
slXSL.Add(' directionsPanel = document.getElementById("route");');
slXSL.Add(' origem = ' + QuotedStr(AOrigem)+ '; ');
slXSL.Add(' destino = ' + QuotedStr(ADestino)+ '; ');
slXSL.Add(' directions = new GDirections(map, directionsPanel);');
slXSL.Add(' //efetua a busca, quando usuário clicar no botão');
slXSL.Add(' var fromAddress = origem;');
slXSL.Add(' var toAddress = destino;');
slXSL.Add(' directions.load(fromAddress + " to " + toAddress, {"locale":"pt_BR"});');
slXSL.Add(' }');
slXSL.Add('
');
slXSL.Add('');
slXSL.Add('');
slXSL.Add('');
slXSL.Add('
');
slXSL.Add('
');
slXSL.Add('
');
slXSL.Add('
');
slXSL.Add('');
slXSL.Add('');

{salva o arquivo Mapa.html no diretorio da Aplicação.}
slXSL.SaveToFile(ExtractFilePath(Application.ExeName) + 'Mapa.html');
finally
FreeAndNil(slXSL);
end;

end;


Note que logo no inicio do procedimento existe uma variável chamada Key, ela vai receber a chave que você gerou no site [Você precisa estar registrado e conectado para ver este link.]

Após o procedimento estar criado, no evento OnClick() do Botão Traçar Roteiro faça a chamado do procedimento da seguinte forma.


procedure TFormMapa.Button1Click(Sender: TObject);
begin
MontarMapa(edtOrigem.Text, edtDestino.Text);
WebBrowser1.Navigate('file://' + ExtractFilePath(Application.ExeName) + 'Mapa.html');
end;


Nesse evento você está chamando o procedimento MontarMapa passando o endereço de origem e destino, logo após isso o webBrowser receber no seu navigate o endereço do aplicativo na maquina + ‘Mapa.html’ exemplo C:\Documents and Settings\Marcos Ganz\Desktop\Mapa\Mapa.html, fazendo com que a página seja carregada no WebBrowser dentro da sua aplicação.


Feito isso o Gerador está concluído.

Você pode alterar alguns parâmetros no arquivo html gerado e hospedar o mesmo no IIS, acesso o link [url=http://marcosganz.no-ip.biz:8080/mapa/ e veja o exemplo dessa hospedagem.][/url]

[Você precisa estar registrado e conectado para ver este link.]


avatar
Admin
Fundador
Fundador

Respeito às regras : Respeito as regras 100%

Mensagens : 65
Reputação : 0
Data de inscrição : 31/05/2011

http://planetatutorial.forumeiros.com

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum