在 Android 百度地图(一)——简单使用 博客中简单介绍了它的使用,基本上都是按照百度API所给的介绍进行操作的,只是初步地让百度地图显示在应用中,并没有具体的使用或是操作它,我们平时所看到的地图都是可以定位、查询的,那么怎样实现地图的切换、定位、与连线呢?
一、地图切换
先来看下上次的代码,没错上次的代码就是跟百度API中写的一模一样,其实使用第三方的开源控件就是这样的,就是查看它的开发指南和Demo学习并使用。
上次代码
public class MainActivity extends Activity {
MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
//获取地图控件引用
mMapView = (MapView) findViewById(R.id.bmapView);
}
@Override
protected void onDestroy() {
super.onDestroy();
//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
//在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}
}
我们的地图有三种:普通地图、卫星地图、交通地图;现在为了实现地图的切换
1、在菜单项中添加三个item。
<item
android:id="@+id/menu_normal"
android:orderInCategory="100"
android:showAsAction="never"
android:title="普通模式"/>
<item
android:id="@+id/menu_site"
android:orderInCategory="100"
android:showAsAction="never"
android:title="卫星图"/>
<item
android:id="@+id/menu_traffic"
android:orderInCategory="100"
android:showAsAction="never"
android:title="实时交通(off)"/>
2、在MainActivity中获得一个Baidumap,mBaiduMap = mapview.getMap();
,通过Baidumap切换地图类型。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);