当我创建使用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的设备兼容。
谢谢
答案 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();