2013-06-12 26 views
8

Chcę dodać „pasek wyszukiwania” na górze na Google Maps v2 jak pokazano na tym małym zdjęciu ja wycięte z Google Play.Map Search Bar w Google Maps v2

Google Map bar..

Jak mogę tego zabrać? Dzięki

+0

mam już mapy, a także dodaje „przycisk” lokalizację na prawej Używanie setLocationEnabled() – 1088

+14

może ten może pomóc http://wptrafficanalyzer.in/blog/android-geocoding -show-user-input-location-on-google-map-android-api-v2/ –

+0

Pracowałem !!. Dzięki – 1088

Odpowiedz

3

To będzie późną odpowiedź, ale nie powinny stanowić odpowiedź na to bardzo wspólnej potrzebie.

W tym, co w zasadzie musisz zrobić, to użyć Google Geocoder aby wyszukać adres podany przez użytkownika w polu tekstowym.

Możemy zrobić to w ten sposób,

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

Metoda ta zwraca listę dostępnych adresów, w tym kodzie przyjmujemy tylko 1 adres, możemy dostać więcej niż jeden adres w razie potrzeby poprzez zmianę wartości ostatniego parametru w powyższej metodzie. Następnie

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))); 
Powiązane problemy