2013-06-12 4 views
8

Desidero aggiungere una "barra di ricerca" in alto su Google Maps v2 come mostrato in questa piccola immagine che ho ritagliato da Google Play.Barra di ricerca mappe su Google Maps v2

Google Map bar..

Come posso fare per fare che? grazie

+0

ho la mappe già così come ha aggiunto la posizione 'tasto' all'estrema destra utilizzando la setLocationEnabled() – 1088

+14

forse questo può aiutare a http://wptrafficanalyzer.in/blog/android-geocoding -showing-user-input-location-on-google-map-android-api-v2/ –

+0

Ha funzionato !!. Grazie – 1088

risposta

3

Sarà una risposta tardiva, ma ci dovrebbe essere una risposta a questo bisogno molto comune.

In questo, ciò che fondamentalmente dobbiamo fare è utilizzare Google Geocoder per cercare l'indirizzo indicato dall'utente nella casella di testo.

Possiamo farlo in questo modo,

Geocoder geo = new Geocoder(getBaseContext()); 
List<Address> gotAddresses = null; 
try { 
    gotAddresses = geocoder.getFromLocationName(locationName[0], 1); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

Questo metodo restituisce un elenco di indirizzi disponibili, in questo codice stiamo accettando solo 1 indirizzo, siamo in grado di ottenere più di un indirizzo, se necessario, cambiando il valore dell'ultimo parametro nel metodo sopra. Poi,

Address address = (Address) gotAddresses.get(0); 

LatLng latLng = new LatLng(address.getLatitude(), address.getLongitude()); 

String properAddress = String.format("%s, %s", 
address.getMaxAddressLineIndex() > 0 ? address.getAddressLine(0) : "", 
address.getCountryName()); 

mMap.addMarker(new MarkerOptions() 
      .position(new LatLng(address.getLatitude(), address.getLongitude())).draggable(true) 
      .title(properAddress) 
      .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin)));