android百度地图:卫星地图普通地图交通地图切换
2013-06-24 16:32
507 查看
在基础地图模式上,增加了普通图和卫星图的切换,以及是否增加交通图的图层。
public class LayersDemo extends Activity { /** * MapView 是地图主控件 */ private MapView mMapView = null; /** * 用MapController完成地图控制 */ private MapController mMapController = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /** * 使用地图sdk前需先初始化BMapManager. * BMapManager是全局的,可为多个MapView共用,它需要地图模块创建前创建, * 并在地图地图模块销毁后销毁,只要还有地图模块在使用,BMapManager就不应该销毁 */ DemoApplication app = (DemoApplication)this.getApplication(); if (app.mBMapManager == null) { app.mBMapManager = new BMapManager(this); /** * 如果BMapManager没有初始化则初始化BMapManager */ app.mBMapManager.init(DemoApplication.strKey,new DemoApplication.MyGeneralListener()); } /** * 由于MapView在setContentView()中初始化,所以它需要在BMapManager初始化之后 */ setContentView(R.layout.activity_layers); mMapView = (MapView)findViewById(R.id.bmapView); /** * 获取地图控制器 */ mMapController = mMapView.getController(); /** * 设置地图是否响应点击事件 . */ mMapController.enableClick(true); /** * 设置地图缩放级别 */ mMapController.setZoom(12); /** * 显示内置缩放控件 */ mMapView.setBuiltInZoomControls(true); /** * 将地图移动至天安门 * 使用百度经纬度坐标,可以通过http://api.map.baidu.com/lbsapi/getpoint/index.html查询地理坐标 * 如果需要在百度地图上显示使用其他坐标系统的位置,请发邮件至mapapi@baidu.com申请坐标转换接口 */ double cLat = 39.945 ; double cLon = 116.404 ; GeoPoint p = new GeoPoint((int)(cLat * 1E6), (int)(cLon * 1E6)); mMapController.setCenter(p); } /** * 设置底图显示模式 * @param view */ public void setMapMode(View view){ boolean checked = ((RadioButton) view).isChecked(); switch(view.getId()) { case R.id.normal: if (checked) mMapView.setSatellite(false); break; case R.id.statellite: if (checked) mMapView.setSatellite(true); break; } } /** * 设置是否显示交通图 * @param view */ public void setTraffic(View view){ mMapView.setTraffic(((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.destroy(); super.onDestroy(); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mMapView.onSaveInstanceState(outState); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); mMapView.onRestoreInstanceState(savedInstanceState); } }对于做android开发不就的同学也许会发现,setMapMode和setTraffic方法没有被调用,其实看看layout文件,你会发现这两行代码:
android:onClick="setMapMode"
android:onClick="setTraffic"在控件属性中设置onClick会直接完成监听。
相关文章推荐
- 【iOS百度地图系列_2】卫星图、交通图、热力图及在基本地图上添加覆盖物
- Android百度地图之普通地图使用<V3.2.0>
- 百度地图3.7.1的卫星地图,实时交通的改变
- BaiduMap---百度地图官方Demo之图层展示(展示普通图,卫星图,交通流量图及百度城市热力图)
- android使用百度地图在切换界面的时候地图左下角Logo变成白色方块
- 百度地图最新版本sdk使用系列(四)-开启卫星地图,实时交通图,实现标注覆盖物等功能
- PopupWindow百度地图API普通地图与卫星地图切换
- Android 百度地图(二)——地图切换、定位、添加覆盖物、搜索位置、连线
- Android 百度地图开发问题----解决地图有时候加载不出来问题
- android百度地图:在地图上绘制点、线、多边形、圆形和文字
- Android之百度地图(二)基础地图和定位
- Android开发百度地图(一)--显示基本地图
- Android百度地图 - 在地图上标注已知GPS纬度经度值的一个或一组覆盖物
- Android百度地图——在地图上标注已知GPS纬度经度值的一个或一组覆盖物
- Android 程序开发——百度地图的使用(三) 地图定位(定位+跟随+距离测量+地图自适应缩放)
- Android百度地图开发(二):显示地图界面
- Android百度地图之显示地图
- Android开发 百度地图之传送一个详细地址获取在地图上的位置
- 百度地图移动版API 1.2.2版本(Android)地图偏移的最佳解决办法
- 【Android 百度地图实战】1.构建一个基础的地图页面