版本:BaiduSDK 2.12 (旧版本)(3.0以上版本由于昨天申请SDK总出问题以后再记录)

首先,来到百度地图API首页:http://developer.baidu.com/map/

开发--->Android开发--->Android地图SDK,点进去后,在左侧有个导航栏,点击 获取密钥,根据相关提示获取key,开发中要用到,这里不过多讲解。

点击相关下载,下载最新的Android地图SDK,解压后获得


往下看,点击开发指南--->配置环境发布,找到Android Studio工程配置方法,根据提示进行操作(这里由于讲的是旧版本2.12,与新版本略有差别,所以我截图下来)。


之后把jar包加入到项目中


2个jar包都要加入,之后软件会自动进行编译,等待编译结束后就可以开始使用了。


代码部分:

(1)在布局中添加组件

<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity"><com.baidu.mapapi.map.MapViewandroid:id="@+id/mapView"android:layout_width="match_parent"android:layout_height="match_parent"/><Buttonandroid:id="@+id/btn_main_open"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="打开软键盘"android:onClick="click"/></RelativeLayout>

(2)在配置文件中添加相关权限

<!--gps--><uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/><!--wifi--><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/><uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/><!--网络的权限--><uses-permissionandroid:name="android.permission.INTERNET"/><!--离线包--><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><!--获取手机信息--><uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>

(2)在MainActivity中编写代码

publicclassMainActivityextendsAppCompatActivity{/***百度地图的引擎(管理地图)*/privateBMapManagermanager;/***显示地图信息的*/privateMapViewmapView;/***控制地图的:缩放、平移、旋转*/privateMapControllercontroller;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);/***加载布局之前,首先初始化地图的引擎*/initManager();setContentView(R.layout.activity_main);/***初始化布局中的mapView*/mapView=(MapView)findViewById(R.id.mapView);/***对控制器初始化*/controller=mapView.getController();/***这里设置初始级别为显示第12级(1.0版本是3-18级别,2.0版本开始3-19个级别)*/controller.setZoom(19);/***这里设置默认显示的中心地带(比如:116.312741(经度),39.979111(纬度))*/controller.setCenter(newGeoPoint(39979111,116312741));}privatevoidinitManager(){manager=newBMapManager(this);manager.init(ContentsUtils.KEY,newMKGeneralListener(){/***获取网络工作状态*@paramisError返回状态*/@OverridepublicvoidonGetNetworkState(intisError){if(isError==MKEvent.ERROR_NETWORK_CONNECT){Toast.makeText(getApplicationContext(),"网络连接出错",Toast.LENGTH_SHORT).show();}}/***获取许可状态*@paramisError返回状态*/@OverridepublicvoidonGetPermissionState(intisError){if(isError==MKEvent.ERROR_NETWORK_CONNECT){Toast.makeText(getApplicationContext(),"申请的key出错了",Toast.LENGTH_SHORT).show();}}});}/***优化*/@OverrideprotectedvoidonResume(){super.onResume();mapView.onResume();}/***优化*/@OverrideprotectedvoidonPause(){super.onPause();mapView.onPause();}@OverrideprotectedvoidonDestroy(){super.onDestroy();/***该Activity销毁的时候,把地图显示的view也销毁掉,有助于优化*/mapView.destroy();}/***这里是根据按键做出相应操作*@paramkeyCode*@paramevent*@return*/@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){switch(keyCode){caseKeyEvent.KEYCODE_1:mapView.setSatellite(false);mapView.setTraffic(false);break;caseKeyEvent.KEYCODE_2:mapView.setSatellite(true);mapView.setTraffic(false);break;caseKeyEvent.KEYCODE_3:mapView.setSatellite(false);mapView.setTraffic(true);break;default:break;}returnsuper.onKeyDown(keyCode,event);}/***设置按钮,控制软键盘的打开与关闭**@paramview*/publicvoidclick(Viewview){Toast.makeText(MainActivity.this,"打开/关闭键盘",Toast.LENGTH_SHORT).show();openInputMethod();}/***调用软键盘,打开/关闭*/publicvoidopenInputMethod(){InputMethodManagerimm=(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);if(imm.isActive()){imm.toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);}else{getSystemService(Context.INPUT_METHOD_SERVICE);}}}

说明:这里多加了一点功能,就是左上角加个按钮,可以打开/关闭键盘,按键盘的1/2/3键,会分别显示电子地图/卫星地图/实时交通。其他相关操作,代码作了相应注释。

运行效果图:



更多相关文章

  1. "lianren"项目解析(一)
  2. android activity启动的时候隐藏软键盘
  3. android横竖屏切换(复制未整理)
  4. Android开发实例详解之IMF(Android(安卓)SDK Sample—SoftKeyboar
  5. Android中的定位Demo
  6. 百度地图JS使用
  7. Android(安卓)UI布局
  8. android:windowSoftInputMode 属性介绍
  9. 深入浅出 - Android系统移植与平台开发(四)- Android启动流程

随机推荐

  1. Android xml manifest属性详解
  2. 相对布局属性
  3. Android:实现无标题的两种方法
  4. android 小游戏 ---- 数独(四)
  5. --android bitmap oom 分析
  6. Android 修改程序字体
  7. Android布局管理器总结
  8. 项目中那些事|控件之TextView
  9. EditText光标居上
  10. 《第一行代码 Android(安卓)》学习记录(一