Intereting Posts
Преобразование RealmResults <E> в список <E> с помощью copyFromRealm Начальная активность Android при выборе пункта меню Android Studio: Theme.Sherlock.Light.DarkActionBar не может быть разрешен Уникальный идентификатор устройства Android после предупреждения MarshMallow «Получить идентификаторы устройств не рекомендуется»? Когда использовать какой конструктор для ComponentName в Android? Как я могу ссылаться на внешние файлы jar в общем каталоге (а не на lib) для создания проекта андроида с помощью ant? Как Transfuse сравнивается с кинжалом? Настройка настраиваемого шрифта для всех TextViews Android – промежуток времени RecyclerView между элементами в сетке Возможна ли фильтрация пакетов TCP на мобильных платформах? Как создать собственный сервис android и использовать связующее для связи с ним? Что заставляет контент ContentResolver.query () Android возвращать null? OnSharedPreferenceChanged называется несколько раз … почему? Почему получение Google Directions для Android с использованием данных KML больше не работает? Как настроить порядок элементов управления в Android?

Добавить панель инструментов поиска по карте google, например, в приложении для родных Android.

Я хочу реализовать панель инструментов поиска, например, в приложении Google Maps. Как я могу это сделать? Может быть, есть собственный способ реализовать эту функцию?

Моментальный снимок из приложения Google Maps

Solutions Collecting From Web of "Добавить панель инструментов поиска по карте google, например, в приложении для родных Android."

Вы должны пойти для использования AutoSuggestEditext и дать фоновый эффект, например, google и поставить левое и правое изображение Relativelayout

Вот пример для Auto Suggest для поиска по месту.

Автозаполнение

Надеюсь на это вы поймете.

Вы можете использовать EditText или TextWatcher . Я использовал EditText и кнопку Search. С помощью этой кнопки нажмите кнопку «Поиск».

Вот мой код при нажатии кнопки:

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

И вот метод поиска

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

Код edited- для 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> 

Если вы хотите получить представление «Поиск по карте Google». Затем вы можете использовать любую из двух нижележащих замечательных библиотек.

1) Плавающий вид поиска

Добавьте ниже зависимости от вашего файла градиента:

 compile 'com.github.arimorty:floatingsearchview:2.0.3' 

Пример:

  <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

Добавьте ниже зависимости от вашего файла градиента:

 compile 'com.lapism:searchview:4.0' 

Пример:

 <com.lapism.searchview.SearchView android:id="@+id/searchView" android:layout_width="match_parent" android:layout_height="match_parent" /> 

Это может помочь кому-то, кто хочет добавить панель поиска вместе с Google maps API Google Places