poner - Agregue la barra de herramientas de búsqueda en el mapa de Google como en la aplicación nativa de Android
instalar barra de google en android (4)
Quiero implementar la barra de herramientas de búsqueda como en la aplicación nativa de Google Maps. ¿Cómo puedo hacer esto? ¿Puede haber alguna forma nativa de implementar esta característica?
Debería utilizar AutoSuggestEditext y dar un efecto de fondo como Google have y poner la imagen de la izquierda y la derecha mediante Relativelayout
Aquí hay un ejemplo de Auto Suggest para búsqueda de lugar.
Espero de ello lo entenderás.
Esto podría ayudar a alguien que quiera agregar la barra de búsqueda junto con la API de Google Places de Google Maps
Puede utilizar EditText
o TextWatcher
. EditText
un botón EditText
y Buscar. Con esto, haga clic en el botón, busque la ubicación.
Aquí está mi código al hacer clic en el botón:
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 vista del mapa de Google. Entonces puedes usar cualquiera de las siguientes dos impresionantes bibliotecas.
Agregue a continuación la dependencia a su archivo de 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 la dependencia a su archivo de 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" />