将自定义页脚按钮添加到 Android 上的 Google 地图标记

Adding custom footer buttons to Google Maps Marker on Android

当我单击 MapFragment 中的标记时,地图底部会出现两个按钮(用于路线和搜索)。如何自定义这些按钮?

我在这里搜索了一些提示,但只找到了如何将按钮添加到信息中 window...

谢谢。

您可以使用一个 FrameLayout 和 3 个 children,并将底部按钮的 android:visibility 设置为 invisible

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="match_parent"
             android:layout_height="match_parent">

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:name="com.google.android.gms.maps.SupportMapFragment"
          />

    <Button
        android:layout_gravity="bottom|left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        android:text="Button 1"/>

    <Button
        android:layout_gravity="bottom|right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        android:text="Button 2"
        />

</FrameLayout>

(如果你没有设置 android:visibility="invisible",你可以在你的 mapFragment 底部看到这两个按钮,见下图)

在你的onMarkerClick方法中,你可以将这2个按钮的不可见改为可见,示例代码:

button1.setVisibility(View.VISIBLE);
button2.setVisibility(View.VISIBLE);