毕业论文是基于百度地图 android SDK v2.1.1,这个是目前百度提供最新的。这几天有空会陆续贴出,这里只讲一些应用功能的开发,至于如何获取百度KEY或实现地图层等就不说了,大家看百度官网的DEMO就可以了。今天先讲一下图层的状态变化。
1、先定义一下图层样式
//定义图层样式 mMapView = (MapView)findViewById(R.id.mylocate_bmapView); mMapView.setBuiltInZoomControls(true);//可缩放 mMapView.setLongClickable(true);//可长按 //定义图层控制样式 mMapController=mMapView.getController(); GeoPoint point =new GeoPoint((int)(25.800* 1E6),(int)(114.894* 1E6));//初始的地图中心为赣南师范学院 mMapController.setCenter(point); //设置地图中心点 mMapController.setZoom(17); //设置地图zoom级别 mMapController.enableClick(true);//设置可单击
2、显示卫星图
mMapView.setSatellite(true);//打开卫星图
mMapView.getController().setOverlooking(-45);//打开3D图
4.1 定义一个窗体:
// 创建PopupWindow对象 LayoutInflater inflater = LayoutInflater.from(this); View view = inflater.inflate(R.layout.popmenu_location, null); // 引入窗口配置文件 pop = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, false); ColorDrawable cd = new ColorDrawable(-0000); pop.setBackgroundDrawable(cd);//设置窗体的背景,这样窗体外单击触摸才会消失 pop.setFocusable(true); //窗体获得焦点,否则无法点击 pop.setOutsideTouchable(true);//窗体外单击触摸消失至于layout中popmenu_location.xml,就大家自已写一个吧,就显示三张图片
4.2 定义各个按钮的单击事件
//选择图层单击事件 layer.setOnClickListener(new OnClickListener(){ @Override //弹出图层窗体 public void onClick(View arg0) { pop.showAsDropDown(layer, 160, -10); Log.i(TAG,"layer.setOnClick"); popisshow=true; } }); plain=(ImageButton)view.findViewById(R.id.plain); //定义平面图组件 satellite=(ImageButton)view.findViewById(R.id.satellite);//定义卫星图组件 three_d=(ImageButton)view.findViewById(R.id.three_d); //定义3D图组件 //平面图单击事件 plain.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { Log.i(TAG,"plain clicked"); if(satelliteisshow==true ||threedisshow==true){ mMapView.setSatellite(false);//关闭卫星图 Log.i(TAG,"satellite is closed!"); satelliteisshow=false; satellite.setBackgroundResource(R.drawable.main_map_mode_satellite_normal); mMapView.getController().setOverlooking(0);//关闭3D图 Log.i(TAG,"three_d is closed!"); threedisshow=false; three_d.setBackgroundResource(R.drawable.main_map_mode_3d_normal); } plain.setBackgroundResource(R.drawable.main_map_mode_plain_selected); //pop.dismiss(); } }); //卫星图层单击事件 satellite.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { Log.i(TAG,"satellite clicked"); if(satelliteisshow==false){ mMapView.setSatellite(true);//打开卫星图 Log.i(TAG,"satellite is showed!"); satelliteisshow=true; plain.setBackgroundResource(R.drawable.main_map_mode_plain_normal); satellite.setBackgroundResource(R.drawable.main_map_mode_satellite_selected); } //pop.dismiss(); } }); //3D图层单击事件 three_d.setOnClickListener( new OnClickListener(){ @Override public void onClick(View v) { Log.i(TAG,"three_d clicked"); if(threedisshow==false){ mMapView.getController().setOverlooking(-45);//打开3D图 Log.i(TAG,"three_d is showed!"); threedisshow=true; plain.setBackgroundResource(R.drawable.main_map_mode_plain_normal); three_d.setBackgroundResource(R.drawable.main_map_mode_3d_selected); } //pop.dismiss(); } });
我的新浪博客:http://blog.sina.com.cn/yanyuanfen09
安卓市场:http://apk.hiapk.com/html/2013/05/1468059.html?module=256&info=IWjtVg9cqVJLYg%3D%3D
N多市场:http://www.nduoa.com/apk/detail/553415
360手机助手:http://zhushou.360.cn/search/index/?kw=%E6%A0%A1%E5%9B%AD%E5%B0%8F%E5%8A%A9%E6%89%8B
百度应用:http://as.baidu.com/a/item?docid=3101724&pre=web_am_se
优亿市场(eoe):http://www.eoemarket.com/search/apps/?keyword=%E6%A0%A1%E5%9B%AD%E5%B0%8F%E5%8A%A9%E6%89%8B