我使用以下代码初始化google地图对象:
if (googleMap == null) {
googleMap = ( (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
}
它工作正常,但在某些设备上,googleMap对象显示为null。我如何解决它?
我将单行代码打破为:
FragmentManager fmanager = getSupportFragmentManager();
Fragment fragment = fmanager.findFragmentById(R.id.map);
SupportMapFragment supportmapfragment = (SupportMapFragment)fragment;
googleMap=supportmapfragment.getMap();
最后一行supportmapfragment.getMap()
是返回null的那一行。
我的xml文件:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Store locator"
android:layout_gravity="center_horizontal"
android:textSize="40px" />
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="200px"/>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/list_categories"
/>
</LinearLayout>