Utilizzo dell'API di Google Places

Vorrei sviluppare un'applicazione in cui voglio visualizzare informazioni sui luoghi vicini (entro 1 km) dall'utente ottenendo la sua ubicazione corrente.

Dire ad esempio che voglio visualizzare informazioni su Ristoranti, centri commerciali, ospedali situati entro 1 km in relazione alla posizione corrente del dispositivo android ..

  • Convertire la string in arrays (android)
  • come caricare efficacemente bitmap dalla cartella disegnabile in ListView?
  • Scorribile TextView in Widget Android
  • ObjectAnimator Proxy per animare TopMargin non riesce a trovare l'impostazione / getter
  • Come modificare l'orientamento di Android SlidingDrawer per codice?
  • Frammenti di Android con tabs e Viewpager
  • Ho passato questo collegamento: l' utilizzo di Google Places API in Android .. Ma non è stato di più.

    Qualcuno ha utilizzato Google Places API in android?

  • Come faccio a call un'intenzione in Retrofit Callback?
  • IllegalStateException: il contenuto è stato consumato
  • Programma Android per convertire il database SQLite in Excel
  • Sostituire solo framework.jar e le relative librerie in Android MarshMallow
  • spostare, scalare e ritagliare l'image in android come image di profilo di facebook
  • Codice QR per il lancio di un'applicazione nativa
  • 5 Solutions collect form web for “Utilizzo dell'API di Google Places”

    Provare a questo tutorial: using-googles-places-api e ovunque ti trovi il problema, fai commenti in commento.

    Alcuni punti da tenere a mente:

    • Per utilizzare l'API Google Places, devi registrarti e get una chiave API di Google Map.
    • Nella class UrlSigner nel tutorial le descrizioni delle variables sono: keyString => è la chiave api della mappa google. urlString => è il tuo URL che vuoi firmare usando il tasto api.
    • Nel codice trovenetworking inputKey e inputUrl . queste 2 variables sono solo per la prova degli scopi che puoi ometterli se vuoi. È ansible scrivere direttamente il codice come segue:

      URL url = new URL(urlString);

      UrlSigner signer = new UrlSigner(keyString);

      String request = signer.signRequest(url.getPath(),url.getQuery());

      System.out.println("Signed URL :" + url.getProtocol() + "://" + url.getHost() + request);

    nel metodo principale della class UrlSigner.

    L'API funziona bene in India (di corso functionrà ovunque nel mondo). Quello che wherete passare è Google Places API . Puoi semplicemente submit una richiesta di url a google con la posizione corrente e il tipo di posto dell'utente che preferisci.

    La risposta può essere sia XML che Json secondo la tua richiesta. Tutto quello che devi fare è analizzarlo. È ansible get luoghi intorno a te fino a 50 km. Un esempio per la richiesta di URL è

     https://maps.googleapis.com/maps/api/place/search/xml?location=9.934866,76.267235&radius=50000&types=country%7Cairport%7Camusement_park%7Cbank%7Cbook_store%7Cbus_station%7Ccafe%7Ccar_rental%7Ccar_repair%7Cchurch%7Cdoctor%7Cfire_station%7Cfood%7Chindu_temple%7Chospital%7Clawyer%7Clibrary%7Cmosque%7Cmuseum%7Cpark%7Cparking%7Cpharmacy%7Cpolice%7Cpost_office%7Crestaurant%7Cschool%7Ctrain_station%7Czoo&sensor=true&key=your_API_Key 

    * Nota:% 7C è solo "|".

    L'API Google Places è stata pubblicata un paio di settimane fa.

    Utilizzando la libreria client API API compatibile Android per Java , è ansible utilizzare l'API di Google Places da un runtime Android.

    L' API API REST di Google Places è ben documentata. Per un esempio sull'utilizzo della libreria client API di Google per Java e dell'API di Google Places, effettuare la verifica della seguente voce di blog:

    http://ddewaele.blogspot.com/2011/05/introducing-google-places-api.html

    Tieni presente che questo tutorial è stato scritto quasi un anno fa. L'API Places è stata lanciata al pubblico da allora, quindi il process di logging è ora molto più semplice – vedere la documentazione all'indirizzo: http://code.google.com/apis/maps/documentation/places/#Limits

    Sono disponibili anche nuove funzionalità, tra cui la ricerca per categoria, con oltre 100 categorie diverse e un servizio di completamento automatico: http://code.google.com/apis/maps/documentation/places/autocomplete.html

    In particolare, la ricerca di categoria dovrebbe aiutarti a trovare in modo specifico ristoranti, centri commerciali e ospedali.

     /* For google api key:- login to your mail account go to https://code.google.com/apis/console/ goto services tab click on places api and google map api button. Fill the details goto api access tab and copy your google api key */ package com.example.jstest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.os.Bundle; import android.app.Activity; import android.widget.Toast; public class MainActivity extends Activity { private String googleAPIKey = "your google api key"; DefaultHttpClient client; HttpResponse res; HttpGet req; InputStream in; JSONObject jsonobj; JSONArray resarrays; String requesturl; HttpEntity jsonentity; final String TAG = getClass().getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); requesturl="https://maps.googleapis.com/maps/api/place/search/json?radius=500&sensor=false&key="+googleAPIKey+"&location=13.01,74.79"; System.out.println("Request "+requesturl); client=new DefaultHttpClient(); System.out.println("hello"); req=new HttpGet(requesturl); System.out.println("hello"); try { res=client.execute(req); StatusLine status = res.getStatusLine(); int code = status.getStatusCode(); System.out.println(code); if(code!=200) { System.out.println("Request Has not succeeded"); finish(); } jsonentity=res.getEntity(); in = jsonentity.getContent(); jsonobj=new JSONObject(convertStreamToString(in)); resarrays = jsonobj.getJSONArray("results"); if(resarrays.length()==0){ } else{ int len=resarrays.length(); for(int j=0;j<len;j++) { Toast.makeText(getApplicationContext(), resarrays.getJSONObject(j).getString("name") , Toast.LENGTH_LONG).show(); } } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } } private String convertStreamToString(InputStream in) { BufferedReader br=new BufferedReader(new InputStreamReader(in)); StringBuilder jsonstr=new StringBuilder(); String line; try { while((line=br.readLine())!=null) { String t=line+"\n"; jsonstr.append(t); } br.close(); } catch (IOException e) { e.printStackTrace(); } return jsonstr.toString(); } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.