1

所以我以编程方式将谷歌添加到我的应用程序中,它工作得很好,但我不知道如何在地图上添加按钮或选项,例如切换地图类型、搜索位置等。这是我当前的代码:

public class GoogleMaps extends FragmentActivity {
    SupportMapFragment mMapFragment;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_google_maps);

        mMapFragment = new SupportMapFragment(){
            @Override
            public void onActivityCreated(Bundle savedInstanceState){
                super.onActivityCreated(savedInstanceState);

                GoogleMap map = mMapFragment.getMap();
                map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
                map.setMyLocationEnabled(true);

                if (map != null){
                    UiSettings settings = map.getUiSettings();
                    settings.setTiltGesturesEnabled(false);

                }
            }
        };       
        getSupportFragmentManager().beginTransaction()
        .add(android.R.id.content, mMapFragment).commit();
4

1 回答 1

3

我建议您将地图放在FrameLayoutXML 文件中的 a 旁边RelativeLayout/LinearLayout,并将与地图片段重叠的 a 放在一起,然后将按钮放入RelativeLayout/LinearLayout地图顶部。

像这样:

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

    <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" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/corneredmap" >
    </LinearLayout>

</FrameLayout>  

我认为需要更多工作的另一个选择是创建自己的CustomMapFragment扩展SupportMapFragment并添加所需的按钮。

于 2013-03-09T20:08:23.060 回答