2013-06-12 5 views
8

Ich möchte eine "Suchleiste" an der Spitze auf Google Maps v2 wie auf diesem kleinen Bild, das ich aus Google Play abgeschnitten.Karte Suchleiste in Google Maps v2

Google Map bar..

Wie gehe ich um das zu tun? Danke

+0

Ich habe die Karten bereits sowie die ‚Taste‘ Standort hinzugefügt am rechten mit dem setLocationEnabled() – 1088

+14

vielleicht kann dieser Ihnen helfen http://wptrafficanalyzer.in/blog/android-geocoding -showing-user-input-location-auf-google-karte-android-api-v2/ –

+0

Arbeitete !!. Danke – 1088

Antwort

3

Es wird eine späte Antwort sein, aber es sollte eine Antwort auf dieses sehr häufige Bedürfnis geben.

In diesem was wir im Grunde tun müssen, ist Google Geocoder zu verwenden, um nach der Adresse zu suchen, die durch Benutzer in der Textbox erwähnt wird.

Wir können es auf diese Weise tun,

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

Diese Methode gibt eine Liste der verfügbaren Adressen zurückgibt, in diesem Code, den wir nur 1 Adresse akzeptieren, können wir mehr als eine Adresse erhalten, wenn durch Änderung des Wertes benötigt des letzten Parameters in der obigen Methode. Dann

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)));