百度地图的简单用法

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

(*/ω╲*)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值