domingo, 13 de maio de 2007

Integrações com Google - Geocoding

Agora vamos mostrar como é fácil utilizar a ferramenta eDeveloper com integrações via web utilizando a função HTTPGet. Para começar vamos realizar uma integração com a API do Google que fornece o CEP de um endereço.

Para iniciar, precisamos de um xsd do kml para integrarmos com o serviço do Google. Com o xsd na mão é necesário adicioná-lo ao nosso projeto. Para isso crie um nova linha no repositório de dados, selecione o database de XML e então pressione 'Get Definition'. Informe o caminho onde encontra-se o xsd e confirme. Pronto já temos a estrutura para buscar a informação no Google.


Agora vamos criar o programa que irá buscar na web o CEP de um endereço informado. Para isso crie um novo programa no repositório de programas chamado Geocoding.
Crie uma variável do tipo Blob e altere a propriedade Details.Content para Ansi.

Na guia Logic crie uma linha para o Task Prefix, dentro deste handler adicione o comando Update na variável CEP com a seguinte informação: HttpGet('http://maps.google.com/maps/geo?q=Rua+Saldanha+Marinho+336,+Novo+Hamburgo,+Brazil
&output=xml&key=abcde')
Sendo que
http://maps.google.com/maps/geo? é o site onde irá retornar a informar do CEP
Rua+Saldanha+Marinho+336,+Novo+Hamburgo,+Brazil é o endereço pesquisado, aqui um pequeno deslize do nosso amigo Google, Brasil precisa ser informado com Z :(
&output=xml& é a forma como a informação chega até nós, no caso um xml e finalmente,
key=abcde que é a sua chave de ativação ao serviço, para conseguir esta chave entre neste endereço. Aqui uma dica, o serviço só irá funcionar se você informar uma chave correta.


Com o procedimento acima, acabamos de buscar o CEP do endereço informado, agora basta usufruir desta informação. Vamos criar uma subtask para isso.
No Main Source da task filha vamos informar nosso XML PostalCode , na propriedade deste data source vamos informar em Data.XML Source variable a variável criada na task pai (PostalCode_CEP) e vamos adicionar o segmento (Column) PostalCodeNumber.



Pronto agora basta colocar na tela a informação


Caso queria dar uma espiada no projeto baixe ele aqui.

Este é apenas um pequeno exemplo de como podemos integrar o eDeveloper com serviçõs na web, este mesmo serviço fornece também as coordenadas geogáficas do endereço, basta apenas explorá-lo.

Enjoy :)