在默认谷歌地图活动上添加按钮

时间:2016-03-29 06:41:55

标签: google-maps android-studio mapfragment

我想在android studio中的默认Googlemap Activity上添加一个Button。我通过更改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" />

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

我的要求是

  1. 在mapfragment上创建一个Button。
  2. 点击它时,应在其上显示一些自定义标记。
  3. 如何完成这项任务?任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:4)

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

这将使地图片段首先占据所有屏幕,然后按钮将位于屏幕的右上角。当地图遍布整个屏幕时,按钮将在地图上方,地图的某些部分将被覆盖。

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

第二项要求

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

让我知道它对你有用。