Quinta-feira, 08 de Dezembro, 2011

   Um dos serviços a implementar no projecto eHouse Aveiro é o serviço de Pontos de Interesse. Este serviço irá funcionar como um agregador de outros serviços já disponíveis, entre os quais o Sapo Mapas, Google Places, Foursquare e Gowalla. Irá também contar com uma Base de Dados que servirá de backup caso estes serviços não se encontrem disponíveis.

   A descrição deste serviço já foi feita no meu post anterior, por isso irei preceder à utilização do mesmo.

 

Points Of Interestgo up

 

Visão Geralgo up

Este serviço disponibiliza uma lista de pontos de interesse de uma dada área (através da latitude, longitude e raio) para uma dada categoria (ou para todas).

O acesso a este serviço efectua-se através do seu ficheiro WSDL: http://api.web.ua.pt/dns/RequestPOIService/RequestPOI?wsdl

As categorias disponíveis são as seguintes:

IDCategory
1Bares/Discotecas
2Restaurantes
3Farmácias
4Centros Comerciais/Hypermercados
5Hoteis/Hostels
6Outros(Lazer) - Ginasios/Cinemas/etc

Operaçõesgo up

Este serviço disponibiliza 2 operações que irei descrever de seguida. O resultados destas operações é uma string com o seguinte formato:

 

<POI>

     <Name>"Nome do POI"</Name>

     <Address>"Morada do POI"</Address>

     <Latitude>"Latitude do POI"</Latitude>

     <Longitude>"Longitude do POI"</Longitude>

     <Type>"Tipo do POI"</Type>

</POI>

 

getPOIsByDistance

⇒ List getPOIByDistance(double lat, double lon, int radius)

Parâmetros

→double lat: Latitude do ponto onde queremos procurar os pontos de interesse.

→double lon: Longitude do ponto onde queremos procurar os pontos de interesse.

→int radius: Raio de abrangência da área onde queremos procurar os pontos de interesse.

Retorno

→List: Lista dos pontos de interesse encontrados.

getPOIsByTypeAndDistance

⇒ List getPOIByTypeAndDistance(double lat, double lon, int radius, int type)

Parâmetros

→double lat: Latitude do ponto onde queremos procurar os pontos de interesse.

→double lon: Longitude do ponto onde queremos procurar os pontos de interesse.

→int radius: Raio de abrangência da área onde queremos procurar os pontos de interesse.

→int type: ID da categoria de pontos de interesse que queremos procurar.

Retorno

→List: Lista dos pontos de interesse encontrados.

[Tutorial] How to use PointsOfInterest Servicego up

Para utilizar o Serviço PointsOfInterest será necessário criar uma Web Application como ilustra a figura seguinte:

Após a criação do projecto, deverá criar a classe que irá utilizar o serviço. Um exemplo simples de uma classe que utiliza este serviço encontra-se abaixo:

 

samplepoiclient.java
   import java.util.List;
   import javax.xml.ws.WebServiceRef;
 
   public class SamplePOIServiceClient {
 
       @WebServiceRef(wsdlLocation = "http://api.web.ua.pt/dns/RequestPOIService/RequestPOI?wsdl")
 
       static RequestPOIService nameOfServiceClient = new RequestPOIService();
 
       private static POIFacade endpointInterface;
 
       public static void main(String args[]) {
 
           endpointInterface = nameOfServiceClient.getRequestPOIPort(); // This method returns the endpoint interface
           /**             * This method returns a list of POIs depending on your location, radius and type of POI (see types of POIs)             */
           List<Object> sampleClient1 = endpointInterface.getPOIByTypeAndDistance(40.658, -8.658, 5000, 1); //radius in meters
           /**             * This method returns a list of POIs depending on your location and radius             */
           List<Object> sampleClient2 = endpointInterface.getPOIByDistance(40.658, -8.658, 5000); //radius in meters 
           /**             * Sample usage of POIs             */
           for(int i=0; i<sampleClient1.size(); i++){
               System.out.println(sampleClient1.get(i).toString());
           }  
       }
   }

 

 

Assim que criada esta classe ela irá conter erros, pois ainda não tem a referência ao serviço. Para isso, é necessário criar um cliente do serviço. As figuras abaixo ilustram o processo:

E pronto! O cliente está criado e funcional!

 


De
Nome

Email

Url

Guardar Dados?



Email

Password



Comentário

Máximo de 4300 caracteres




Dezembro 2011
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3

4
5
6
7
10

11
12
13
14
15
16
17

18
19
20
21
22
23
24

25
26
27
28
29
30
31


arquivos
2012

2011

pesquisar
 

blogs SAPO


Universidade de Aveiro

subscrever feeds