En mi aplicación tengo una actividad que se extiende MapActivity
. y allí puse un AutoCompleteTextView
y un botón llamado "Buscar" así que lo que escribo dentro de AutoCompleteTextView
Y presiono el botón Buscar va a esa ubicación en el mapa de Google. AutoCompleteTextView
es para un pequeño número de elementos que menciono en strings.xml. Pero quiero que funcione como motor de búsqueda de Google, como en el cuadro de búsqueda de Google, lo que sea que comencemos a escribirlo completa automáticamente cada palabra allí. La cosa es que toma datos del servidor de google. ¿No? Si es así, ¿cómo puedo vincular los datos a mi AutoCompleteTextView del servidor de Google para que funcione como el cuadro de búsqueda de Google. Estoy usando android API v2.2.android cómo hacer que AutoCompleteTextView funcione como cuadro de búsqueda de google
5
A
Respuesta
2
usted tiene que utilizar la API de Google Places, es necesario generar una clave de API primera lugar, consulte esta página:
http://code.google.com/apis/maps/documentation/places/
En mi caso he utilizado este código:
final ArrayAdapter<String> adapter = new ArrayAdapter<String> (this,R.layout.list_item);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
adapter.setNotifyOnChange(true);
textView.setAdapter(adapter);
textView.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) { if (count%3 == 1) { adapter.clear(); try {
URL googlePlaces = new URL(
// URLEncoder.encode(url,"UTF-8");
"https://maps.googleapis.com/maps/api/place/autocomplete/json?input="+ URLEncoder.encode(s.toString(), "UTF-8")
+"&types=geocode&language=fr&sensor=true&key=<getyourAPIkey>");
URLConnection tc = googlePlaces.openConnection();
Log.d("GottaGo", URLEncoder.encode(s.toString()));
BufferedReader in = new BufferedReader(new InputStreamReader(
tc.getInputStream()));
String line;
StringBuffer sb = new StringBuffer();
while ((line = in.readLine()) != null) {
sb.append(line);
}
JSONObject predictions = new JSONObject(sb.toString());
JSONArray ja = new JSONArray(predictions.getString("predictions"));
for (int i = 0; i < ja.length(); i++) {
JSONObject jo = (JSONObject) ja.get(i);
adapter.add(jo.getString("description"));
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub
}
public void afterTextChanged(Editable s) {
} });
Cuestiones relacionadas
- 1. Cómo hacer que Google búsqueda Mostrar mi sitio como este
- 2. cakephp: cómo hacer que NOW() funcione en condiciones de búsqueda?
- 3. Android: ¿Cómo hacer un AutoCompleteTextView SingleLine?
- 4. ¿Cómo hacer que Google Fonts funcione en IE?
- 5. Hacer que un miembro funcione como amigo
- 6. Google Maps API 3 cuadro de búsqueda
- 7. ¿Cómo obtengo un cuadro combinado extjs para que funcione como un cuadro normal de selección html?
- 8. ¿Cómo hacer que diff funcione como git-diff?
- 9. ¿Cómo hacer que org-mobile funcione en Android?
- 10. Botón de búsqueda dentro del cuadro de búsqueda como Bing
- 11. ¿Cómo puedo hacer que OData DELETE funcione?
- 12. AutoCompleteTextView evento click en Android
- 13. Android autocompletetextview elementos del cuadro desplegable tienen una fuente grande
- 14. Búsqueda de texto completo como Google
- 15. Hacer que TimeTicker funcione como TimePicker solo en WinForms
- 16. ¿Cómo hacer que Sinatra funcione a través de HTTPS/SSL?
- 17. ¿Cómo hacer que HTML5 funcione con DOMDocument?
- 18. No sé cómo hacer que __slots__ funcione
- 19. Cómo hacer que funcione PREPARE TRANSACTION
- 20. ¿Cómo hacer que funcione APC (PHP Cache)?
- 21. ¿Cómo hacer que UpdatePanel dentro de ListView funcione?
- 22. ¿Cómo hacer que lxml funcione en IronPython?
- 23. ¿Cómo hacer que este javascript funcione?
- 24. ¿Cómo podemos hacer que kCAOnOrderOut funcione?
- 25. ¿Cómo hacer que doxygen funcione más rápido?
- 26. Cómo hacer que CC-Tray funcione
- 27. ¿Cómo hacer que = NULL funcione en SQLite?
- 28. ¿Cómo hacer que file_get_contents() funcione con HTTPS?
- 29. ¿Cómo hacer que SVG funcione con IE?
- 30. ¿Cómo puedo hacer que funcione este DataTrigger?