根据百度地图开发文档,编写程序,实现在安卓手机的定位功能
项目效果
开发流程
-
进入百度地图开放平台/百度地图开放平台
-
登录后点击顶部‘开发文档’TAB,选择AndroidSDK
-
注册成为开发者并获取密钥
-
创建应用
-
获取SHA1/官方文档指引获取SHA1
-
获取PackageName/官方文档指引获取包名
-
Android Studio配置/官方文档指引Android Studio配置
包含
●创建项目
●在项目中集成BaiduMap SDK
●下载开发包
●将开发包拷贝至工程
1、添加jar文件
打开解压后的开发包文件夹,找到BaiduLBS_Android.jar文件将其拷贝至工程的app/libs目录下,如图:
2、添加so文件
有两种方法可以往项目中添加so文件。
方法一:
在下载的开发包中拷贝需要的CPU架构对应的so文件文件夹到app/libs目录下,如图:
在app目录下的build.gradle文件中android块中配置sourceSets标签,如果没有使用该标签则新增,详细配置代码如下:
sourceSets {
main {
jniLibs.srcDir ‘libs’
}
}●往工程中添加jar文件
在libs目录下,选中每一个jar文件(此处只有一个BaiduLbs_Android.jar)右键,选择Add As Library…,如图:
此时会发现在app目录的build.gradle的dependencies块中生成了工程所依赖的jar文件的对应说明,如下所示:
注意:最新版本的Android Studio中compile被替换为implementation -
显示定位
官方文档指引/显示定位
第一步 配置AndroidManifest.xml文件(开发者key为创建应用时的key)
第二步 在外部添加如下权限声明
第三步 在布局文件中添加地图容器MapView是View的一个子类,用于在Android View中放置地图。MapView的使用方法与Android提供的其他View一样。
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:clickable=“true” />
第四步 地图初始化
新建一个自定义的Application,在其onCreate方法中完成SDK的初始化。示例代码如下:
public class DemoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
SDKInitializer.initialize(this);
//设置坐标类型包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。
SDKInitializer.setCoordType(CoordType.BD09LL);
}
}
第五步 在AndroidManifest.xml文件中声明该Application
导出APK实机定位
会在本地产生一个APK文件,发送到手机安装运行
手机环境:MIUI11
内容参考
百度官方开发文档/Android 地图SDK
Android studio实现百度地图显示/用户binZai~
第10章实验:Android定位与百度定位/sy10
主要代码
在清单文件里,在Activity组件注册的代码后,添加注册远程服务和配置应用Key的代码:
<service android:name="com.baidu.location.f" android:enabled="true" android:process