<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
/**
* 创建一个基于Fragment的地图框架
*/
public class MapFragmentDemo extends FragmentActivity {
@SuppressWarnings("unused")
private static final String LTAG = MapFragmentDemo.class.getSimpleName();
//SupportMapFragment类, 管理地图生命周期
SupportMapFragment map;
@Override
public void onCreate(Bundle savedInstanceState) {
Log.e("yyb", "onCreate");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment);
/**
* MapStatus:定义地图状态
* MapStatus.Builder:地图状态构造器
* MapStatus.Builder.build():创建地图状态对象
* overlook:地图俯仰角度
* zoom:地图缩放级别 3~20
* */
MapStatus ms = new MapStatus.Builder().overlook(-20).zoom(15).build();
/**
* BaiduMapOptions:MapView 初始化选项
* mapStatus(MapStatus status):设置地图初始化时的地图状态, 默认地图中心点为北京天安门
* compassEnabled(boolean enabled):设置是否允许指南针,默认允许。
* zoomControlsEnabled(boolean enabled):设置是否显示缩放控件
* */
BaiduMapOptions bo = new BaiduMapOptions().mapStatus(ms)
.compassEnabled(false).zoomControlsEnabled(false);
/**
* newInstance(BaiduMapOptions options):
* 根据给定的百度地图选项创建一个SupportMapFragment实例
* */
map = SupportMapFragment.newInstance(bo);
FragmentManager manager = getSupportFragmentManager();
/**
*beginTransaction():
* Start a series of edit operations on the Fragments associated with this FragmentManager.
*add(int containerViewId, Fragment fragment, String tag):
* Add a fragment to the activity state.
* */
manager.beginTransaction().add(R.id.map, map, "map_fragment").commit();
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
Log.e("yyb", "onRestoreInstanceState");
super.onRestoreInstanceState(savedInstanceState);
}
@Override
protected void onRestart() {
Log.e("yyb", "onRestart");
super.onRestart();
}
@Override
public void onStart() {
Log.e("yyb", "onStart");
super.onStart();
}
@Override
public void onResume() {
Log.e("yyb", "onResume");
super.onResume();
}
@Override
public void onSaveInstanceState(Bundle outState) {
Log.e("yyb", "onSaveInstanceState");
super.onSaveInstanceState(outState);
}
@Override
public void onPause() {
Log.e("yyb", "onPause");
super.onPause();
}
@Override
public void onStop() {
Log.e("yyb", "onStop");
super.onStop();
}
@Override
public void onDestroy() {
Log.e("yyb", "onDestroy");
super.onDestroy();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
Log.e("yyb", "onConfigurationChanged");
super.onConfigurationChanged(newConfig);
}
}