<?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" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RadioGroup
android:id="@+id/RadioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/normal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:checked="true"
android:onClick="setMapMode"
android:text="普通图" />
<RadioButton
android:id="@+id/statellite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="setMapMode"
android:text="卫星图" />
</RadioGroup>
<CheckBox
android:id="@+id/traffice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:checked="false"
android:onClick="setTraffic"
android:text="交通图" />
<CheckBox
android:id="@+id/baiduHeatMap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:checked="false"
android:onClick="setBaiduHeatMap"
android:text="百度城市热力图" />
</LinearLayout>
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
</LinearLayout>
/**
* 演示地图图层显示的控制方法
* 展示普通地图,卫星图,交通流量图及百度城市热力图
*/
public class LayersDemo extends Activity {
/**
* MapView 是地图主控件
*/
private MapView mMapView;
private BaiduMap mBaiduMap;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layers);
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
}
/**
* 设置底图显示模式
*
* @param view
*/
public void setMapMode(View view) {
boolean checked = ((RadioButton) view).isChecked();
switch (view.getId()) {
//普通地图
case R.id.normal:
/**
* setMapType(int type):
* 设置地图类型 MAP_TYPE_NORMAL 普通图; MAP_TYPE_SATELLITE 卫星图
* */
if (checked)
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
break;
//卫星地图
case R.id.statellite:
if (checked)
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
break;
}
}
/**
* 设置是否显示交通图
*
* @param view
*/
public void setTraffic(View view) {
/**
*setTrafficEnabled(boolean enabled):设置是否打开交通图层
* */
mBaiduMap.setTrafficEnabled(((CheckBox) view).isChecked());
}
/**
* 设置是否显示百度热力图
*
* @param view
*/
public void setBaiduHeatMap(View view) {
/**
*setBaiduHeatMapEnabled(boolean enabled):
* 设置是否打开百度热力图图层(百度自有数据图层) 注:地图层级大于11时,可显示热力图
* */
mBaiduMap.setBaiduHeatMapEnabled(((CheckBox) view).isChecked());
}
@Override
protected void onPause() {
// MapView的生命周期与Activity同步,当activity挂起时需调用MapView.onPause()
mMapView.onPause();
super.onPause();
}
@Override
protected void onResume() {
// MapView的生命周期与Activity同步,当activity恢复时需调用MapView.onResume()
mMapView.onResume();
super.onResume();
}
@Override
protected void onDestroy() {
// MapView的生命周期与Activity同步,当activity销毁时需调用MapView.destroy()
mMapView.onDestroy();
super.onDestroy();
}
}