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
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Vídeo