1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android百度地图:卫星地图普通地图交通地图切换

android百度地图:卫星地图普通地图交通地图切换

时间:2024-08-12 15:24:46

相关推荐

android百度地图:卫星地图普通地图交通地图切换

在基础地图模式上,增加了普通图和卫星图的切换,以及是否增加交通图的图层。

public class LayersDemo extends Activity {/*** MapView 是地图主控件*/private MapView mMapView = null;/*** 用MapController完成地图控制 */private MapController mMapController = null;@Overridepublic 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./lbsapi/getpoint/index.html查询地理坐标* 如果需要在百度地图上显示使用其他坐标系统的位置,请发邮件至mapapi@申请坐标转换接口*/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());}@Overrideprotected void onPause() {/*** MapView的生命周期与Activity同步,当activity挂起时需调用MapView.onPause()*/mMapView.onPause();super.onPause();}@Overrideprotected void onResume() {/*** MapView的生命周期与Activity同步,当activity恢复时需调用MapView.onResume()*/mMapView.onResume();super.onResume();}@Overrideprotected void onDestroy() {/*** MapView的生命周期与Activity同步,当activity销毁时需调用MapView.destroy()*/mMapView.destroy();super.onDestroy();}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);mMapView.onSaveInstanceState(outState);}@Overrideprotected void onRestoreInstanceState(Bundle savedInstanceState) {super.onRestoreInstanceState(savedInstanceState);mMapView.onRestoreInstanceState(savedInstanceState);}}

对于做android开发不就的同学也许会发现,setMapMode和setTraffic方法没有被调用,其实看看layout文件,你会发现这两行代码:

android:onClick="setMapMode"

android:onClick="setTraffic"

在控件属性中设置onClick会直接完成监听。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。