【Android工程师】 - 百度地图SDK的使用
来源:互联网 发布:癌症最新研究进展知乎 编辑:程序博客网 时间:2024/05/18 03:03
基本概念
LBS Location Based Service 基于位置的服务
POI Point Of Interset 兴趣点
开发步骤
1、下载SDK
百度为我们提供了地图SDK、定位SDK和导航SDK等,我们可以在 www.developer.baidu/map/ 进行下载。
2、申请Key
(1)输入SHA1值
如果是用Eclipse进行开发,windows – preference – android – build 中查看SHA1值。
但是对于低版本的ADT插件,bulid中是没有SHA1一栏的,这时候我们就需要手动去获取SHA1值。
方法很简单:
第一步:CMD - 进入自己的jdk目录 - 进入bin目录
第二步:keytool.exe -list -alias androiddebugkey -keystore "C:\Users\Administrator\.android\debug.keystore" -storepass android -keypass android
(2)输入APP对应的包名,如:com.lhp.mybaidumap
(3)获取KEY
3、配置libs
将baidumapapi_vX_X_X.jar拷贝到libs目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi目录下。
右击baidumapapi_v3_5_0.jar- Add To Build Path
4、配置AndroidManifest.xml
添加权限
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permissionandroid:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permissionandroid:name="android.permission.GET_TASKS" />
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permissionandroid:name="android.permission.WRITE_SETTINGS" />
配置KEY
在application标签下
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="msC4N1n5P4dtsFXvcMDfdCLSwOL1rcxG" />
5、添加MapView控件
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"/>
6、初始化SDK
百度地图SDK的初始化建议放在Application的初始化方法onCreate()中实现。
所以,我们需要新建类MyApplication,并在application标签下添加android:name=".MyApplication"。
public class MyApplication extendsApplication {
/**百度SDK的初始化需要在Application初始化时进行 */
@Override
publicvoid onCreate() {
super.onCreate();
SDKInitializer.initialize(getApplicationContext());
}
}
7、绑定MapView和Activity的生命周期
百度地图SDK提供的MapView具有自己的生命周期,开发时,需要将Activity的生命周期与MapView的生命周期相对应。
public class MainActivity extendsBaseActivity {
privateMapView mMapView = null;
privateBroadcastReceiver receiver;
@Override
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件
setContentView(R.layout.activity_main);
//获取地图控件的引用
mMapView= (MapView) findViewById(R.id.bmapView);
}
@Override
protectedvoid onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
@Override
protectedvoid onResume() {
super.onResume();
mMapView.onResume();
}
@Override
protectedvoid onPause() {
super.onPause();
mMapView.onPause();
}
}
8、常见报错:so文件缺失或路径不对
so文件是运行SDK的各种CPU架构文件,如果缺失或路径不对将无法正常使用SDK。
官方要求:.jar拷贝到libs目录下,so文件拷贝到libs\armeabi下。
报错信息:No implementation found for long com.baidu.paltform.comjni.map…
- 【Android工程师】 - 百度地图SDK的使用
- 百度地图Android SDK的使用
- Android使用百度地图SDK
- android 使用百度地图sdk
- android开发游记:百度地图SDK基础地图的使用
- 百度地图 Android SDK - 标注(Marker)的基本使用
- 百度地图 Android SDK - 检索功能使用的简单示例
- Android Studio下使用百度地图SDK的配置
- Android学习个人笔记-百度地图定位sdk的使用
- 百度地图 Android SDK - 标注(Marker)的基本使用
- [Android]百度地图SDK在AndroidStudio下的使用
- Android使用百度地图的SDK获取定位
- Android下 使用百度地图sdk
- Android下 使用百度地图sdk
- Android Studio使用百度地图SDk
- Android Studio – 使用百度地图SDK
- Android Studio – 使用百度地图SDK
- 【实训】Android 百度地图SDK简单使用
- leetcode 70. Climbing Stairs
- SVN使用教程总结
- 根据一个表里的字段查询另一个表里的另一个字段,再将查询的字段添加到第一个表里
- [知其然不知其所以然-25] How to setup systemtap
- c++知识总结
- 【Android工程师】 - 百度地图SDK的使用
- Swift - 类初始化和反初始化方法
- Java HttpClient Post请求发送数据乱码
- poj 1753 Flip Game(广搜)
- iOS开发之安装和使用Cocoapods
- opengl学习资料
- Java设置session超时(失效)的三种方式
- mysql下如何执行sql脚本
- 【52】java多线程剖析