android设备上的谷歌地图v2, minSDK低于11



当我创建使用谷歌地图API v2的项目时,我有这一行的问题。

GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))

.getMap ();

它说我需要将minSDK设置为最小11,但我想在android minSDK 8(2.3.3)的设备上也使用此应用程序。什么好主意吗?或者简单地说:我如何将google maps API v2设置为与minSDK 8设备兼容。

谢谢

使用FragmentActivity中的SupportMapFragment,而不是Activity中的MapFragment。要在API Level 11之前的设备上使用fragments,你需要使用Android Support包的fragments backport (FragmentActivity的来源)。

http://android-er.blogspot.de/2012/12/using-supportmapfragment.html -小示例

<RelativeLayout 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"
    tools:context=".MainActivity" >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />
    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"/>
</RelativeLayout>

:

package de.meinprospekt.android.ui;
import java.text.SimpleDateFormat;
public class MainActivity extends FragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}
    Fragment fragment = getSupportFragmentManager().findFragmentById(
            R.id.map);
    SupportMapFragment mapFragment = (SupportMapFragment) fragment;
    GoogleMap mMap = mapFragment.getMap();

相关内容

  • 没有找到相关文章

最新更新