谷歌在Android设备上映射v2,其中minSDK低于11

时间:2013-04-24 15:10:32

标签: android sdk maps android-maps-v2

当我创建使用Google Maps 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的设备兼容。

谢谢

3 个答案:

答案 0 :(得分:6)

使用SupportMapFragment中的FragmentActivity,而不是来自MapFragment的{​​{1}}。要在早于API级别11的设备上使用片段,您需要使用Android Support软件包的片段backport(Activity来自)。

答案 1 :(得分:2)

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);
    }

}

答案 2 :(得分:2)

    Fragment fragment = getSupportFragmentManager().findFragmentById(
            R.id.map);
    SupportMapFragment mapFragment = (SupportMapFragment) fragment;
    GoogleMap mMap = mapFragment.getMap();