Mostrarei como usar o recurso Google Maps no Delphi. Você não vai precisar referenciar nenhuma API, não vai precisar fazer nenhum registro ou ter licença alguma para usar o Google Maps. Basta ter uma conexão com a internet e pronto.
Crie um novo projeto e insira no form1 os seguintes componentes: 1 panel, 2 button, 6 label e 6 edit. Deixe conforme o layout abaixo. Deixe os nomes dos componentes com o mesmo dos label, para facilitar a identificação.
Em seguida insira o seguinte código no evento Click do botão Localizar Endereço
Var ConsultaEndereco : string;
begin
ConsultaEndereco := http://maps.google.com/maps?q=;
If Cidade.Text <> Then
ConsultaEndereco := ConsultaEndereco + Cidade.Text + ,;
If Estado.Text <> Then
ConsultaEndereco := ConsultaEndereco + Estado.Text + ,;
If Rua.Text <> Then
ConsultaEndereco := ConsultaEndereco + Rua.Text + ,;
If Cep.Text <> Then
ConsultaEndereco := ConsultaEndereco + Cep.Text;
Caption := ConsultaEndereco;
WebBrowser1.Navigate(ConsultaEndereco);
end;
O WebBrowser tem a responsabilidade de passar as informações via URL e obter o resultado exibindo o mapa no webBrowser. Abaixo temos o resultado do processamento para exibição do mapa para a cidade de Brasília . A URL montada e usada pelo WebBrowser neste caso é:
http://maps.google.com/?q=Fortaleza
Observe que na busca por endereço não é obrigado preencher todos os campos, pode informar somente a cidade para exibir o seu mapa. As informações de Estado, Rua e Cep.
Para a Latitude / Longitude, a lógica é a mesma e a consulta é montada com os valores informados pelo usuário. Abaixo um exemplo usando valores para latitude e longitude. A URL montada e usada pelo WebBrowser neste caso é :
http://maps.google.com/?q=-7.120695,-34.868803
Insira o código no evento Click do botão Localizar Latitude / Longitude
Var ConsultaEndereco : string;
begin
ConsultaEndereco := http://maps.google.com/maps?q=;
If Latitude.Text <> Then
ConsultaEndereco := ConsultaEndereco + Latitude.Text + ,;
If Longitude.Text <> Then
ConsultaEndereco := ConsultaEndereco + Longitude.Text;
Caption := ConsultaEndereco;
WebBrowser1.Navigate(ConsultaEndereco);
end;
Usando script HTML
Os fontes foram atualizados. Colocado um novo Panel e um button, o código do button é:
Webbrowser1.Navigate(ExtractFilePath(Application.ExeName)+'pesquisa.html');
O arquivo pesquisa.html está nos fontes desse post.
O visual final ficou assim:
Veja mais sobre Google Maps em http://www.google.com/apis/maps/