首先需要初始化mapview对象,然后转成baidumap对象
public class MainActivity extends Activity { private MapView map; private BaiduMap mBaidu;@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //去除标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); //初始化百度地图 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); initView(); } private void initView() { map = (MapView) findViewById(R.id.map); //把视图对象转成BaiduMap mBaidu = map.getMap(); // 设置地图初始的比例尺// MapStatusUpdate msu = MapStatusUpdateFactory.zoomBy(50.0f);// mBaidu.setMapStatus(msu); }}
我的理解就是baidumap这个对象的作用就是用来对图画进行操作的类。
比如设置比例尺,设置卫星地图,设置当前位置,实时交通。
通过菜单的点击事件来进行切换。
@Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case R.id.nomore: mBaidu.setMapType(BaiduMap.MAP_TYPE_NORMAL);// 设置普通地地图 break; case R.id.weixing: mBaidu.setMapType(BaiduMap.MAP_TYPE_SATELLITE);// 设置卫星图 break; case R.id.ontime: if (mBaidu.isTrafficEnabled()) { mBaidu.setTrafficEnabled(false); item.setTitle("实时交通---打开"); } else { mBaidu.setTrafficEnabled(true); item.setTitle("实时交通---关闭"); } break; case R.id.location: LatLng la = new LatLng(jing, wei); MapStatusUpdate msu = MapStatusUpdateFactory.newLatLng(la); mBaidu.animateMapStatus(msu); break; default: break; } return true; }