Consumindo WebService: GoogleMap

Neste artigo demonstro como utilizar o web service da Google para localização de endereços

Consumindo Web Service

Do que se trata: trata-se de recursos disponíveis por terceiros, ou que um desenvolvedor desejar compartilhar com 1 ou vários sistemas, inclusive de linguagens de programação distintas, através de Rest e (ou) SOAP.

 

Olá pessoal, nesse artigo demonstro como consumir um WebService bem comum, e muito útil nos dias de hoje.

Trata-se do Web service da Google, que nos permite localizar endereços, bairros, cidades, localizações enfim, através do seu programa GoogleMaps.

Muitas pessoas utilizam esse fabuloso recurso para viagens, suporte e entre outras situações deparei-me necessitando conferir endereços de meus clientes, e pensei quais as possibilidades de usar um recurso como esse nas minhas aplicações? Então lembrei-me que através de WebServices  eu não precisava criar uma rotina do zero, ou ainda mais ter que me ater a várias horas de rotinas de código-fonte e até mesmo o custo de tudo isso seria muito inviável, pois o que eu queria e o que os meus clientes necessitavam era de algo rápido, muito simples e fácil.

Usando webservices nós conseguimos tudo isso, e ainda mais, hoje há vários sites que disponibilizam na internet as chaves (key) quer assinam a sua aplicação à aplicação do  WebService.

Ainda mais que utilizando esse tipo de conexão, entre sistemas, não importa a linguagem, é como se fosse bibliotecas, que basta requisitar métodos abstratos, prontos de acordo como manda o fornecedor de cada componente. Isso mesmo, imagine como componentes de sua aplicação.

Mas o que é um WebService então?

Se ainda pelo conceito na prática explicado acima ainda ficou alguma duvida, esclareço na base teórica pra vocês:

Segundo a Wikipedia: “Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Os Web services são componentes que permitem às aplicações enviar e receber dados em formato XML. Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML”.

Link: http://pt.wikipedia.org/wiki/Web_service

Vamos implementar o uso então?

Pois bem, inicie uma aplicação no Netbeans, ou Eclipse de preferir (o ambiente não importa muito, mas eu estou usando o NetBeans, qualquer duvida postem ai depois).

Escolha a opção APLICAÇÃO WEB, depois finalize , colocando um nome para o seu projeto, no meu caso o chamei de GoogleMapWeb.

Depois siga os passos conforme ilustro na figura abaixo:


1-Clique na aba Services/ou Serviços

2-Expanda o nó de Google

3-Arraste o método getGoogleMap para a sua página.

 

No meu caso coloquei na página índex como vocês verão a seguir na imagem abaixo:


 

Descomente a linha onde está escrito

//out.println("The SaasService returned: "+result1.getDataAsString());//

 

Agora você vai precisar ir até o site do Google, e solicitar uma Api_key, para que o serviço seja válido no seu site, ou aplicação.

Para isso é necessário que você tenha uma conta do Google. Então caso não tenha crie uma.

http://code.google.com/intl/pt-BR/apis/maps/signup.html

Logo abaixo do site, você deve confirmar o contrato de uso de serviço, e informar qual é o endereço que irá rodar a sua aplicação. No nosso caso coloque  http://localhost:8080

Só isso.

Depois de conseguir sua api_key, abra o arquivo, que o próprio IDE já deixou pronto pra você, em , googlemapservice.properties, é nesse arquivo que você deve informar seu código.


 

Após ter feito isso, salve e execute o projeto.

Se tudo deu certo, e é pra ter dado, você verá uma imagem assim:


Legal,mas nada adiante se ficar aparecendo um local no mapa que você não escolheu ou não informou não é mesmo, então vamos melhorar as coisas...

 

Dentro da sua página coloque campos :

Endereço,

Numero da Casa,

Cidade

 

Dentro de um form, e depois coloque um botão para submeter os dados.

Assim:

<form method="post" action="index.jsp">

Endereço.:  <input type="text" name="txtEndereco" value="" />

<br>

Número.:  <input type="text" name="txtNumero" value="" />

 

Cidade...:  <input type="text" name="txtCidade" value="" />

<br>

 

 

<input type="submit" value="Localizar"/>

</form>

 

E no nosso código do GoogleMaps vamos alterar um pouco para que receba os dados digitados de nosso formulário, assim:

 

 

 

 <%

 

try {

String address = request.getParameter("txtEndereco")+

", "+ request.getParameter("txtNumero")+

", "+ request.getParameter("txtCidade");

java.lang.Integer zoom = 15;

String iframe = "false";

 

RestResponse result = GoogleMapService.getGoogleMap(address, zoom, iframe);

//TODO - Uncomment the print Statement below to print result.

out.println("The SaasService returned: "+result.getDataAsString());

} catch (Exception ex) {

ex.printStackTrace();

}

 

%>

 

Vejam o resultado final.


Pronto, agora é só se divertir!

 

Até a próxima.

 

Carlos Mazzi

Artigos relacionados