百度地图定位LBS
实现目标
根据官方文档,开发百度地图定位APP,显示出当前位置坐标。
步骤
1.创建一个Android工程(MyLBS1)
2.登录百度开发者账号创建应用
-
进入API控制台后,点击创建应用,开始填写相关信息,并最终获得AK。
-
使用 keytool(jdk自带工具)获取发布版SHA1(本机的安卓指纹码):
a. 打开Android Studio,进入Terminal工具:
b.输入命令(默认密码为android)
成功获取SHA1:
c. 获取PackageName
-
创建成功
3.添加SDK(jar + so)通过Gradle 集成sdk
- SDK下载
- 导入jar包
4.添加AK
在清单文件里,在Activity组件注册的代码后,添加注册远程服务和配置应用Key的代码:
5.在清单文件中,需要注册权限
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!--百度定位所需要的普通权限-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/> <!--因为程序要与百度云服务交互-->
6.activity_main.xml
界面布局使用帧布局,包含有重叠效果的地图和位置文本,activity_main.xml的完整代码如下:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!--百度地图控件-->
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
<!--位置文本布局的背景色代码的前2位代码为透明度-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#e0000000"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height