在默认的Google地图活动上添加按钮

Abh*_*nay 0 google-maps mapfragment android-studio

我想在android studio中的默认Googlemap活动之上添加一个按钮。我通过更改Googlemap片段的XML代码来尝试了此操作:

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

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

<fragment
    android:id="@+id/location_map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment" />
<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:padding="0dp"
    android:paddingBottom="0dp"
    android:background="#359c5e"
    android:text="@string/go"
    android:textColor="#ffffff" />
Run Code Online (Sandbox Code Playgroud)

但是我无法在我的地图碎片上得到Button。我通过在XML文件中的Fragment和Viceversa之前编写Button尝试了很多方法,仍然面临着同样的问题。

我的要求是

  1. 在mapfragment上创建一个Button。
  2. 单击它时,它应该显示一些自定义标记。

如何完成这项任务?任何建议表示赞赏。

Sag*_*yak 5

使用此布局。可以解决您的问题。(第一个要求)

这将使地图片段首先占据整个屏幕,然后该按钮将位于屏幕的右上角。由于地图遍布屏幕,因此按钮将位于地图上方,并且地图的某些部分将被覆盖。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<fragment
    android:id="@+id/location_map"
    class="com.google.android.gms.maps.SupportMapFragment"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#359c5e"
    android:layout_alignParentTop="true"
    android:layout_alignParentEnd="true"
    android:padding="8dp"
    android:layout_margin="5dp"
    android:text="@string/go"
    android:textColor="#ffffff" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

第二要求

您可以为按钮使用onclicklistener,并在地图上显示这些标记。

让我知道它如何为您服务。