Soru Yerel android uygulamasında olduğu gibi Google harita üzerinde arama araç çubuğu ekleyin


Yerli google maps uygulamasında olduğu gibi arama araç çubuğunu uygulamak istiyorum. Bunu nasıl yapabilirim? Bu özelliği uygulamak için yerel bir yol var mı?

snapshot from google maps app


21
2018-06-30 11:03


Menşei


kullanım ToolBar  developer.android.com/reference/android/widget/Toolbar.html - Muhammad Babar


Cevaplar:


AutoSuggestEditext 'i kullanmalı ve google gibi arka plan etkisi vermeli ve sol ve sağ Relativelayout

Yer arama için Otomatik Önerme örneğidir.

Otomatik Yer tamamlandı

Umarım ondan anlarsın.


6
2018-06-30 11:59



Bağlantı bozuk görünüyor, lütfen tamir edebilir misiniz? - lazywiz
@lazywiz Bağlantıyı güncelledim. - Herry


Kullanabilirsiniz EditText veya TextWatcher. Kullandım EditText ve bir Arama düğmesi. Bu on tuşu ile, arama konumu.

Düğme üzerindeki kodum tıklandığında:

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

            }

        }
    });

ve burada arama yöntemi

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


}

Xml kodu için düzenlenmiş

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

13
2018-06-30 12:59



Güzel cevap! EditText'i nasıl kaplayacağınızı göstermek için bazı XML'leri ekleyerek geliştirilebilir, ancak bu onu nasıl kullanacağınız konusunda oldukça net bir açıklamadır. - AdamMc331


Google Harita gibi Google Arama Görünümü gibi görünmesini istiyorsanız. O zaman iki harika kütüphanenin altında birini kullanabilirsiniz.

1) Kayan Arama Görünümü

Gradable dosyanıza aşağıdaki bağımlılığı ekleyin:

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

Örnek:

   <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

Gradable dosyanıza aşağıdaki bağımlılığı ekleyin:

compile 'com.lapism:searchview:4.0'

Örnek:

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

9
2017-12-21 06:19



merhaba, Google yerleriyle nasıl kullanıldığını bilmeme yardım eder misin? - kemdo


Bu, Google haritalarıyla birlikte arama çubuğu eklemek isteyen birine yardımcı olabilir Google Rehber API'sı


1
2018-02-26 11:38