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.

Im_011.JPG

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

Im_022.JPG

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;

Im_033.JPG

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:

im_001.JPG

Veja mais sobre Google Maps em http://www.google.com/apis/maps/