Passen Sie infoWindow für Google Maps für Android an

0. Ausführungsbeispiel

スクリーンショット 2019-03-13 11.47.17.png

1.setInfoWindowAdapter() Verwenden Sie GoogleMap.setInfoWindowAdapter (), um ein Objekt festzulegen, das die InfoWindowAdapter-Schnittstelle implementiert (implementieren Sie getInfoWindow () oder getContents ()).

public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback {
    private GoogleMap mMap;
//~ Abkürzung ~
    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;
        mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
            @Override
            public View getInfoWindow(Marker marker) {
                return null;    //Beschreiben Sie den Vorgang in beiden Fällen
            }

            @Override
            public View getInfoContents(Marker marker) {
                return null;    //Beschreiben Sie den Vorgang in beiden Fällen
            }

2. Beschreiben Sie das Layout von InfoWindow

Erstellen Sie eine neue Layout-Ressourcendatei in res / layout / und beschreiben Sie das Layout von infoWindow. Fügen Sie nach Bedarf eine Beschreibung in res / values / strings.xml hinzu.

info_window_ayout.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/tv_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/iw_1"/>
    <TextView
        android:id="@+id/tv_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/iw_2"/>
    <TextView
        android:id="@+id/tv_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/iw_3"/>
    <Button
        android:id="@+id/bt_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/bt_1"/>

</LinearLayout>

strings.xml


<resources>
<!--~ Abkürzung ~-->
    <string name="iw_1">Informationen in der ersten Zeile</string>
    <string name="iw_2">Informationen in der zweiten Zeile</string>
    <string name="iw_3">Informationen in der dritten Zeile</string>
    <string name="bt_1">Sie können auch einen Knopf setzen</string>
</resources>

3. Implementierung von getInfoContents ()

            @Override
            public View getInfoContents(Marker marker) {
                View view = getLayoutInflater().inflate(R.layout.info_window_layout,null);
                return view;
            }

Referenz

[InfoWindow anpassen](https://seesaawiki.jp/w/moonlight_aska/d/%A5%A4%A5%F3%A5%D5%A5%A9%A5%A6%A5%A3%A5%F3 % A5% C9% A5% A6% A4% F2% A5% AB% A5% B9% A5% BF% A5% DE% A5% A4% A5% BA% A4% B9% A4% EB) [Info Windows | Maps SDK for Android | Google Developers] (https://developers.google.com/maps/documentation/android-sdk/infowindows#custom_info_windows)

Recommended Posts

Passen Sie infoWindow für Google Maps für Android an
Toolchain für Python für Android
In-App-Kauf für Android Google Play Billing Library 2.0 implementiert
Informationen zum Kamerawechselereignis der Google Maps Android API
Die höflichste Art, das Google Maps SDK für iOS zu verwenden