学习内容来自“慕课网”
百度地图sdk下载 http://developer.baidu.com/
http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=9554&extra=page%3D1
1、获取秘钥
应用名称随便写,应用类型:android sdk
这里有一个 安全码 百度给了提示:Android SDK安全码组成:数字签名+;+包名。
数字签名获取方法:点击菜单栏最后面的Window 里面的最后一个 Preferences,在打开的窗口中 Android--Build 中可以看到SHA1的签名,用的就是这个签名
将这个签名和包名填入安全码提交就可以了,注意签名和包名中间要有一个分号
2、下载相关的SDK
点击相关下载就可以
选择需要的功能下载开发包
3、下载完成后,
点击开发指南---Hellow BaiduMap
这里教我们如何引入项目
这里很简单,按着他的说明一步一步来就可以了。
完成以后就可以手机测试一下了,能够现实地图功能了。
4、下面给地图添加一些功能
①、打开时显示的比例
1 private BaiduMap mBaiduMap; 2 mBaiduMap = mMapView.getMap(); 3 //设置打开时的显示比列 这里显示500m左右 4 MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(15.0f); 5 mBaiduMap.setMapStatus(msu);
②、实现卫星图和正常地图的切换
1 @Override 2 public boolean onCreateOptionsMenu(Menu menu) { 3 // TODO Auto-generated method stub 4 5 getMenuInflater().inflate(R.menu.main, menu); 6 return true; 7 } 8 @Override 9 public boolean onOptionsItemSelected(MenuItem item) { 10 // TODO Auto-generated method stub 11 switch (item.getItemId()) { 12 case R.id.id_map_common: 13 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); 14 break; 15 case R.id.id_map_site: 16 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE); 17 break; 18 case R.id.id_map_traffic: 19 if(mBaiduMap.isTrafficEnabled()) 20 { 21 mBaiduMap.setTrafficEnabled(false); 22 item.setTitle("实时交通(off)"); 23 } 24 else 25 { 26 mBaiduMap.setTrafficEnabled(true); 27 item.setTitle("实时交通(on)"); 28 } 29 break; 30 31 default: 32 break; 33 } 34 return super.onOptionsItemSelected(item); 35 }
对应的main.xml
这个文件在res-menu文件夹下
1 <menu xmlns:android="http://schemas.android.com/apk/res/android" > 2 3 <item 4 android:id="@+id/id_map_common" 5 6 android:showAsAction="never" 7 android:title="普通地图"/> 8 <item 9 android:id="@+id/id_map_site" 10 11 android:showAsAction="never" 12 android:title="卫星地图"/> 13 <item 14 android:id="@+id/id_map_traffic" 15 16 android:showAsAction="never" 17 android:title="实时交通(off)"/> 18 19 </menu>
注意:若测试发现不显示地图而显示白板,则可能是密钥错误,要坚持安全码是否正确
效果图:
刚进去activity 显示标尺为500m
点击实时交通后的效果,道路上出现颜色线条,表示交通畅通程度
点击菜单 卫星地图后的效果图 (菜单为右下角的三个点)