2012-07-18 4 views
0

Je travaille sur une application où j'ai besoin de récupérer des restaurants à proximité d'un emplacement actuel. Les forums m'ont suggéré d'utiliser l'API Google Places. Quand je lis à propos de Google Place API, il est dit qu'un projet doit être un "projet Google App Engine" + un client Android. Mais je suis confus que ce sera une bonne façon de le faire car je suis assez nouveau dans le monde de Google. Est-ce que quelqu'un peut me suggérer quel sera le meilleur moyen de récupérer les restaurants à proximité d'un emplacement actuel?Récupérer les lieux à proximité d'un emplacement actuel

Merci.

Répondre

0

suivez ce lien. Créer une clé d'application pour votre application & Vous n'avez qu'à faire une demande Http, & vous obtiendrez toutes les informations dans Xml // json. https://developers.google.com/places/documentation/

https://maps.googleapis.com/maps/api/place/search/xml?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=AddYourOwnKeyHere

dans l'URL ci-dessus, ajoutez votre clé Api & locaton. Il vous renverra un xml contenant toutes les restrictions dans un cercle de 500m.

cette URL n'acceptera que des demandes. Yov devra ajouter tous les paramètres dans Url lui-même.

@Override 
       public void run() 
       { 
        String params="location="+(location.getLatitude())+","+(location.getLongitude())+"&radius=5000&types=food&sensor=false&key=your kay"; 
         try 
         { 
          http.getPlaces(new URL("https://maps.googleapis.com/maps/api/place/search/xml?"+params)); 
          Log.i("url", "https://maps.googleapis.com/maps/api/place/search/xml?"+params); 
          setList(); 
         } 
         catch (MalformedURLException e) 
         { 
          e.printStackTrace(); 
         } 
         catch (Exception e) 
         { 
          e.printStackTrace(); 
         } 

       } 
      }); 


public void getPlacesDetails(URL url) throws Exception { 
    try 
    { 
     connection = (HttpURLConnection) url.openConnection(); 
     connection.setDoInput(true); 
     connection.setDoOutput(true); 
     connection.setUseCaches(false); 

     connection.setConnectTimeout(TIMEOUT_CONNECT_MILLIS); 
     connection.setReadTimeout(TIMEOUT_READ_MILLIS); 
     connection.setRequestMethod("GET"); 

     inStream = (InputStream) connection.getInputStream(); 


     SAXParserFactory spf = SAXParserFactory.newInstance(); 
     SAXParser sp = spf.newSAXParser(); 
     XMLReader xr = sp.getXMLReader(); 

     HospitalDetailParser myXMLHandler = new HospitalDetailParser(); 
     xr.setContentHandler(myXMLHandler); 
     xr.parse(new InputSource(inStream)); 


    } 

    catch (MalformedURLException e) 
    { 

     Log.i("exception in sms", "" + e.toString()); 
     throw e; 
    } 

    catch (Exception e) 
    { 

     Log.i("exception in sms", "" + e.toString()); 
     throw e; 
    } 

} 
+0

Il y a aussi un "commencer" Guide à l'API Places à: https://developers.google.com/academy/apis/maps/places/ – saxman

+0

En utilisant l'API Google Adresses, je reçois un " VerifyError "à l'exécution. LogCat dit - "Impossible de trouver la classe GenericUrl" mais la compilation ne montre pas une telle erreur. J'ai cherché sur les forums et mis en place toutes les solutions proposées mais obtenant toujours la même erreur ... Qu'est-ce qui me manque? –

+0

pouvez-vous fournir le code et le journal pertinents? J'ai modifié la réponse. Vérifiez s'il vous plaît. – Kamal

Questions connexes