安卓进阶第一篇之百度地图的简单使用(入门级)

现在APP中用到的定位功能是越来越常见的了,下面就是我在使用百度地图定位的时候走的一些流程,话不多说,直接开始:

1.首先我们要在百度地图开放平台(如果不知道地址,点这里)上注册一个账号并登录,点击API控制台,如下图:


2.点击创建应用,如下图


3.填写你的应用信息,应用名称就是你的APP_NAME,应用类型选择“Android SDK”,如下图


选择你需要的额服务,下面的SHA1,要通过如下方法去获取:

在AndroidStudio中的获取方法为:

(1)打开as下面的Terminal

(2)输入:D:\AndroidStudioProjects\xiangwai>"D:\android\Java\jre7\bin\keytool.exe "

-list -v -keystore "D:\android\xiangwai\keystore.jks"

注释:(D:\AndroidStudioProjects\xiangwai>"D:\android\Java\jre7\bin\keytool.exe "

)为你的keytool.exe路径;("D:\android\xiangwai\keystore.jks")为你的签名文件的路径,一定不要写错,否则是看不到的。

(3)输入秘钥库口令:签名文件的密码

(4)回车;看到如下信息


则表示获取成功,

如上图所示,我们就拿到了SHA1,最后再输入我们项目的包名,点击提交。

5.点击查看应用,就可以看到我们创建的项目了,也获取到APP中需要的key,如下图

�6.接下来就是下载我们需要的sdk啦,点击首页,在开发中选择你需要的sdk,点击相关下载,就可以看到下载sdk的地方,如下图:

7.下载好了之后,就是在项目中的部署了,将下载的sdk里面的将so文件的压缩文件解压出来,把对应架构下的so文件放入开发者自己APP的对应架构下的文件夹中(建议全部放入以提高程序兼容性),将locSDK_6.X.jar文件拷贝到工程的libs目录下,这样您就可以在程序中使用百度定位SDK了。(我是将so文件放在jniLIiba下面,这个文件夹是我自己创建的,如下图:)


然后将jar文件放入libs文件夹下面,这样准备工作基本是完成了。

8.接下来就是在项目中的使用了,首先,我们在AndroidManifest.xml中添加需要的权限,如下:


然后再声明Servie和meta-data,value就是我们在开放平台上创建应用获取到的key,如下图:


9.最后就是使用百度地图进行定位了,直接上代码,我是这么做的:

(1)先声明定位的类及接口回掉

private LocationClient mLocationClient=null;

private BDLocationListener myListener=newMyLocationListener();

(2)在需要获取定位信息的地方调用如下代码

mLocationClient=newLocationClient(getApplicationContext());//声明LocationClient类

mLocationClient.registerLocationListener(myListener);//注册监听函数

initLocation();

mLocationClient.start();

(3)需要的方法的代码

private voidinitLocation() {

LocationClientOption option =newLocationClientOption();

option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);//可选,默认高精度,设置定位模式,高精度,低功耗,仅设备

option.setCoorType("bd09ll");//可选,默认gcj02,设置返回的定位结果坐标系

intspan =1000;

option.setScanSpan(span);//可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的

option.setIsNeedAddress(true);//可选,设置是否需要地址信息,默认不需要

option.setOpenGps(true);//可选,默认false,设置是否使用gps

option.setLocationNotify(true);//可选,默认false,设置是否当gps有效时按照1S1次频率输出GPS结果

option.setIsNeedLocationDescribe(true);//可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近”

option.setIsNeedLocationPoiList(true);//可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到

mLocationClient.setLocOption(option);

}


public classMyLocationListenerimplementsBDLocationListener {

@Override

public voidonReceiveLocation(BDLocation location) {

String address = location.getAddrStr();//拿到地址

if(StringUtil.isEmpty(address)) {

return;

}

if(!StringUtil.isEmpty(address)) {

edittext.setText(address);

Editable etext =edittext.getText();

Selection.setSelection(etext,etext.length());//光标定位到最后

mLocationClient.stop();

}

}

}

address 就是我们定位到的地址啦,以上就是我们使用百度地图定位的流程,第一次写,写的不好,有什么问题希望大家多多补充,我也会一直进步的。



(*/ω╲*)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,827评论 19 139
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,978评论 9 468
  • 【 申请密钥AndroidSDK:应用程序包名+数字签名 As查看数字签名:cmd-----cd .android...
    征程_Journey阅读 6,915评论 0 5
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,249评论 2 33
  • ·米芾《画史》:“江南周文矩士女,面一如(周)昉。”元·汤厚《古今画鉴·唐画》:“张萱工仕女人物,尤长于婴儿,不在...
    唐宝宝宝宝阅读 1,450评论 0 0

友情链接更多精彩内容