1

我想在显示的 GoogleMap 上添加一个按钮。我的地图显示为

GoogleMap map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

我使用片段来显示地图,布局 xml 是

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

我找到了一些将按钮加载到视图上的信息,但他们的只是普通视图,而不是 GoogleMap。谢谢

4

2 回答 2

1

您无法将按钮直接添加到 Google 地图对象中,因此您只有几个选项:

1.用您自己的实现覆盖 SupportMapFragment 对象并将按钮添加到其中。

2.简单的选项是在fragment里面设置a ,并直接使用aFrameLayout添加一个按钮,例如:FrameLayoutLinearLayout

 <FrameLayout 
     android:layout_width="match_parent"
     android:layout_height="match_parent">

   <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

        <Button
            android:id="@+id/bLocateMe"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/locate_me_button_selector"
            android:clickable="true"
            android:onClick="locateMeButtonOnClick"
            android:text="@string/locate_me"
            android:textColor="@color/my_white" />
     </LinearLayout>
    <fragment
        xmlns:map="http://schemas.android.com/apk/res-auto"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</FrameLayout>
于 2013-04-10T13:54:33.100 回答
0

为什么要在地图上放置按钮?

我有一些解决方案:

  1. 如果你想要静态按钮,你可以将地图片段放入RelativeView 并将按钮放置在RelativeView 中。
  2. 否则,如果您想要按钮,它将与地图一起移动,您可以在地图上放置一些形状,例如使用 addCircle 方法的圆形,并使用 setOnMapClickListener 来处理地图上的点击。请参阅GoogleMap API 参考
于 2013-04-10T13:54:13.637 回答