Android:ViewFlipper中的Google MapView

时间:2011-09-06 13:17:20

标签: android maps android-mapview

我有一个使用ViewFlipper的布局,可以在整个应用中始终显示标签栏。

主要活动扩展了TabActivity。对于我的一个观点,我想要一个mapview,我尝试过这段代码没有成功:

<ViewFlipper android:id="@+id/layout_tab_one"
                android:layout_width="fill_parent" android:layout_height="fill_parent">

                <ListView android:id="@+id/listview" 
                    android:layout_width="fill_parent" android:layout_height="wrap_content" />

                <com.google.android.maps.MapView
                 android:id="@+id/mapview"
                 android:layout_width="fill_parent"
                 android:layout_height="fill_parent"
                 android:clickable="true"
                 android:apiKey="myapikey">
                  </com.google.android.maps.MapView>  
                <ListView android:id="@+id/lazylistview"
                    android:layout_width="fill_parent" android:layout_height="wrap_content" />
                    <include android:id="@+id/cell1" layout="@layout/detail" />
                <ListView android:id="@+id/listview2" 
                    android:layout_width="fill_parent" android:layout_height="wrap_content" />

            </ViewFlipper>

应用程序在启动时崩溃。我已将谷歌地图的用户库放入清单中,我也使用Google API运行应用程序,但仍然没有运气。 有什么建议? 谢谢!

2 个答案:

答案 0 :(得分:0)

您的设备或模拟器没有Google地图,或者您可能正在使用MapActivity之外的其他内容来扩充此布局。

答案 1 :(得分:0)

请在初始化ViewFlipper的活动中使用extends FragmentActivity

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/RelativeLayout02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <ViewFlipper
            android:id="@+id/flipper"
            android:layout_width="fill_parent"
            android:layout_height="400dp" >

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" >

                <fragment
                    android:id="@+id/map"
                    android:name="com.google.android.gms.maps.SupportMapFragment"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" />
            </RelativeLayout>           
        </ViewFlipper>
    </RelativeLayout>
</LinearLayout>

并使用以下代码

int checkGooglePlayServices = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());  

        if (checkGooglePlayServices != ConnectionResult.SUCCESS) { 
            GooglePlayServicesUtil.getErrorDialog(checkGooglePlayServices, (Activity) context, 1122).show();
            return;
        }