最近用到了百度地图,需要根绝服务器发送的经纬度进行定义位置。
1 申请百度开发者帐号,这个不用多收了吧
2创建应用如下 demo 如下
3 获取 sha1 码 这个比较麻烦,这个一般需要两个 一个 是 发布版本 一个是 测试版本。如下:
正常情况下:
一、获取开发版SHA1:
在此我直接用AndroidStudio提供的命令控制台了,毕竟做android开发几乎都是用Android Studio了。
1、打开android studio 找到Terminal并打开,或者在最下面找到Terminal 如下图:
2、 输入命令 C: 进入c盘;
3、接着 输入命令 cd Users\Administrator 其中Administrator是自己的用户名 Administrator文件下有个.adnroid文件, 输入命令 cd .android,最后就找到了.android,如图:
4、输入命令 keytool -list -v -keystore debug.keystore 其中debug.keystore是studio默认的keystore,按回车,然后输入秘钥:android(系统默认) 回车(秘钥库口令是看不到的)如下图:
这样就成功获取到开发版的SHA1值了,是不是很简单呀,那是当然!
二、获取发布版的SHA1:
获取发布版的SHA1,跟获取开发版的SHA1的1、2、3步骤一样,不一样的地方就是第4步稍微不同而已。
1、同上;
2、同上;
3、同上;
4、输入命令 keytool -list -v -keystore 文件目录\自己的签名文件 比如我的:keytool -list -v -keystore E:\签名文件\android.keystore ,接着按回车,然后输入秘钥:(我只知道我的,哈哈) 回车(秘钥库口令是看不到的)如下图:
这样就成功获取到发布版的SHA1值了,是不是很简单。
4 这样得到了 ak 值 也就是 密钥,让后将他加入到项目的配置文件里放在application中:
5 下载所需要的sdk 放入项目中,下面是只需要定位的例子:
记得要对jar包添加依赖哦:
还有这个6 最后上代码了:
监听器 类:
importandroid.content.Context;
importandroid.hardware.Sensor;
importandroid.hardware.SensorEvent;
importandroid.hardware.SensorEventListener;
importandroid.hardware.SensorManager;
public classMyOrientationListenerimplementsSensorEventListener{
privateSensorManagermSensorManager;
privateSensormSensor;
privateContextmContext;
private floatlastX;
privateOnOrientationListenermOnOrientationListener;
publicMyOrientationListener(Contextcontext)
{
this.mContext=context;
}
public voidstart()
{
mSensorManager= (SensorManager)mContext
.getSystemService(Context.SENSOR_SERVICE);
if(mSensorManager!=null)
{
//获得方向传感器
mSensor=mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
}
//判断是否有方向传感器
if(mSensor!=null)
{
//注册监听器
mSensorManager.registerListener(this,mSensor,SensorManager.SENSOR_DELAY_UI);
}
}
public voidstop()
{
mSensorManager.unregisterListener(this);
}
//方向改变
@Override
public voidonSensorChanged(SensorEvent event) {
if(event.sensor.getType()==Sensor.TYPE_ORIENTATION)
{
floatx=event.values[SensorManager.DATA_X];
if(Math.abs(x-lastX)>1.0)
{
if(mOnOrientationListener!=null)
{
mOnOrientationListener.onOrientationChanged(x);
}
}
lastX=x;
}
}
public voidsetOnOrientationListener(OnOrientationListener listener)
{
mOnOrientationListener=listener;
}
public interfaceOnOrientationListener
{
voidonOrientationChanged(floatx);
}
@Override
public voidonAccuracyChanged(Sensor sensor,intaccuracy) {
}
}
很简单,只要沉下信,喜欢的点个赞吧 。。。
网友评论