Agregar barra de herramientas de búsqueda sobre google map como en la aplicación nativa de Android
Quiero implementar la barra de herramientas de búsqueda como en la aplicación nativa de google maps. ¿Cómo puedo hacer esto? Puede ser que haya una manera nativa de implementar esta característica?
- Google Map V2 Carga perezosa de la imagen del marcador
- Com.google.android.gms.maps.MapFragment: No se puede resolver el símbolo "maps"
- La ubicación se muestra en la pantalla - google maps en android
- Google maps glitch en los teléfonos Motorola
- Geo: intención con un placeid
- Cómo guardar agregados google mapas superposiciones en una aplicación para Android?
- Mover marcador con gps en google map android
- Dibuja el camino de GoogleMap con 9patch
- Android Google Maps API v2 ruta de visualización
- android.view.inflateexception binario archivo xml línea # 6 error o inflar fragmento de clase
- GooglePlayServicesUtil.getErrorDialog es nulo
- Multiple MapActivitys en la pila
- Google Maps Android API v2 sólo admite dispositivos con OpenGL ES 2.0 y superior
Usted debe ir para el uso AutoSuggestEditext y dar efecto de fondo como google tienen y poner la imagen a la izquierda y la derecha por Relativelayout
Aquí está el ejemplo de Auto Sugerir para buscar en el lugar.
Auto completo
Espero que lo entienda.
Puede utilizar EditText
o TextWatcher
. EditText
un botón EditText
y un botón Buscar. Con este clic en el botón, que la ubicación de búsqueda.
Aquí está mi código en el botón de clic:
button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String g = searchview.getText().toString(); Geocoder geocoder = new Geocoder(getBaseContext()); List<Address> addresses = null; try { // Getting a maximum of 3 Address that matches the input // text addresses = geocoder.getFromLocationName(g, 3); if (addresses != null && !addresses.equals("")) search(addresses); } catch (Exception e) { } } });
Y aquí está el método de búsqueda
protected void search(List<Address> addresses) { Address address = (Address) addresses.get(0); home_long = address.getLongitude(); home_lat = address.getLatitude(); latLng = new LatLng(address.getLatitude(), address.getLongitude()); addressText = String.format( "%s, %s", address.getMaxAddressLineIndex() > 0 ? address .getAddressLine(0) : "", address.getCountryName()); markerOptions = new MarkerOptions(); markerOptions.position(latLng); markerOptions.title(addressText); map1.clear(); map1.addMarker(markerOptions); map1.moveCamera(CameraUpdateFactory.newLatLng(latLng)); map1.animateCamera(CameraUpdateFactory.zoomTo(15)); locationTv.setText("Latitude:" + address.getLatitude() + ", Longitude:" + address.getLongitude()); }
Editado- para el código xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.google_map.MainActivity" > <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" class="com.google.android.gms.maps.SupportMapFragment" /> <TextView android:id="@+id/latlongLocation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignRight="@+id/searchView1" android:background="#ff058fff" android:gravity="bottom" android:paddingBottom="5dp" android:paddingLeft="5dp" android:paddingRight="5dp" android:paddingTop="5dp" android:textColor="#ffffffff" /> <EditText android:id="@+id/searchView1" android:layout_width="250dp" android:layout_height="34dp" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="18dp" android:layout_marginTop="14dp" android:hint="Search Location" android:textColor="@android:color/black" android:background="@android:color/white" > </EditText> <Button android:id="@+id/button1" android:layout_width="28dp" android:layout_height="25dp" android:layout_alignBaseline="@+id/searchView1" android:layout_alignBottom="@+id/searchView1" android:layout_alignRight="@+id/searchView1" android:background="@drawable/g_search_btn" /></RelativeLayout>
Si desea obtener la vista Me gusta Buscar en Google Maps. Entonces usted puede utilizar cualquiera de debajo de dos biblioteca impresionante.
1) Vista de búsqueda flotante
Agregue a continuación dependencie a su archivo gradle:
compile 'com.github.arimorty:floatingsearchview:2.0.3'
Ejemplo:
<com.arlib.floatingsearchview.FloatingSearchView android:id="@+id/floating_search_view" android:layout_width="match_parent" android:layout_height="match_parent" app:floatingSearch_searchBarMarginLeft="@dimen/search_view_inset" app:floatingSearch_searchBarMarginTop="@dimen/search_view_inset" app:floatingSearch_searchBarMarginRight="@dimen/search_view_inset" app:floatingSearch_searchHint="Search..." app:floatingSearch_suggestionsListAnimDuration="250" app:floatingSearch_showSearchKey="false" app:floatingSearch_leftActionMode="showHamburger" app:floatingSearch_menu="@menu/menu_main" app:floatingSearch_close_search_on_keyboard_dismiss="true"/>
2) SearchView
Agregue a continuación dependencie a su archivo gradle:
compile 'com.lapism:searchview:4.0'
Ejemplo:
<com.lapism.searchview.SearchView android:id="@+id/searchView" android:layout_width="match_parent" android:layout_height="match_parent" />
Esto podría ayudar a alguien que quiera agregar barra de búsqueda junto con la API de Google Places de Google Maps
- Android: Determinar el tipo de seguridad de las redes wifi en el rango (sin conectarse a ellos)
- Bitmap getWidth devuelve un valor incorrecto