查看: 16014|回复: 31

[咨询求助] 定位获取经纬度只返回4.9E-324 而且无法获取地址信息 如何...

[复制链接]
saber14174 发表于 2016-9-20 09:29:52 | 显示全部楼层 |阅读模式
本帖最后由 saber14174 于 2016-9-20 11:21 编辑

/*定位 */
public void initLocation() {
    //toast("poi");
mLocationClient = new LocationClient(this);// 定位组件LocationClientOption option = new LocationClientOption();
    option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);// 设置定位模式
option.setCoorType("bd09ll");// 返回的定位结果是百度经纬度,默认值gcj02
option.setScanSpan(5000);// 设置发起定位请求的间隔时间为5000ms
option.setIsNeedAddress(true);// 返回的定位结果包含地址信息
option.setNeedDeviceDirect(true);// 返回的定位结果包含手机机头的方向
mLocationClient.setLocOption(option);
    mLocationClient.start();
   /*获取位置*/
mLocationClient.registerLocationListener(new BDLocationListener() {
        @Override
        public void onReceiveLocation(BDLocation location) {
            String addrstr;
            Latitude = location.getLatitude();
            addrstr=location.getAddress().toString();
            Toast toast=Toast.makeText(getApplicationContext(),
                    addrstr, Toast.LENGTH_LONG);
            toast.show();
        }
    });
}
代码如上  

debug结果是
Latitude = 4.9E-324  
  addrstr=com.baidu.location.Address@255f9580
  debug报告百度无法解密 如图
1.jpg

NetWork location failed because baidu location service can not decrypt the request query, please check the so file !

返回的错误代码是162 这个代码查询是so没有正确配置  
so的位置如下 这样考入的 还需要做什么吗?

2.jpg



手机wifi 定位全开 manifest权限全给

用之前的密匙可以使用定位而且返回值都正常 而最新申请的密匙无法正常定位但地图可以读取出来

请问这个如何处理?


大盗海洲time 发表于 2017-1-3 16:49:18 | 显示全部楼层
好吃的平台 发表于 2016-9-20 11:13
我也是同样的问题,我测试了一下,发现在6.0之下的小米,vivo手机上测试都是正常的,可以获取到所有的定位 ...

.so文件全复制到lib文件下
回复 支持 0 反对 1

使用道具 举报

是是非非iiee 发表于 2016-12-24 08:59:53 | 显示全部楼层
已解决,是jar包和so文件问题,欢迎查看博客整理http://blog.csdn.net/u012382791/article/details/53856203
回复 支持 1 反对 0

使用道具 举报

好吃的平台 发表于 2016-9-20 11:13:29 | 显示全部楼层
本帖最后由 好吃的平台 于 2016-9-20 11:16 编辑

我也是同样的问题,我测试了一下,发现在6.0之下的小米,vivo手机上测试都是正常的,可以获取到所有的定位信息,但是在6.0的华为手机上测试,发现只能获取到如下信息:
locType : 505
                                                                   locType description : NetWork location failed because baidu location service check the key is unlegal, please check the key in AndroidManifest.xml !
                                                                   latitude : 4.9E-324
                                                                   lontitude : 4.9E-324
                                                                   radius : 0.0
                                                                   CountryCode : null
                                                                   Country : null
                                                                   citycode : null
                                                                   city : null
                                                                   District : null
                                                                   Street : null
                                                                   addr : null
                                                                   UserIndoorState: -1
                                                                   Direction(not all devices have value): -1.0
                                                                   locationdescribe: null
                                                                   Poi:

在6.0的手机上也动态的调用了权限,但是就是提示key不正确,如果key不正确,那么在其他的手机上应该也无法定位,但是在其他手机上就是正常的,很奇怪,没找到原因。

回复 支持 1 反对 0

使用道具 举报

 楼主| saber14174 发表于 2016-9-20 11:24:03 | 显示全部楼层
好吃的平台 发表于 2016-9-20 11:13
我也是同样的问题,我测试了一下,发现在6.0之下的小米,vivo手机上测试都是正常的,可以获取到所有的定位 ...

我的系统为5.1的CM 之前申请到的key都可以 查询到具体地址 而后面申请的2个 都无法获取 返回错误不是密匙不对。。是162 162说是 so没配置对 按照网上的方法都导入到了对应的目录下了 不知道为什么了
巨蟹蚊人 发表于 2016-9-23 15:21:17 | 显示全部楼层
AS吧  把so打包进去
 楼主| saber14174 发表于 2016-9-30 12:10:15 | 显示全部楼层
巨蟹蚊人 发表于 2016-9-23 15:21
AS吧  把so打包进去

就是按照教程打包的导入的 之前都可以 现在就不行了
上帝早已晓得 发表于 2016-10-8 14:46:39 | 显示全部楼层
我也是这个问题呢,怎么解决呢?
上帝早已晓得 发表于 2016-10-8 15:00:02 | 显示全部楼层
上帝早已晓得 发表于 2016-10-8 14:46
我也是这个问题呢,怎么解决呢?

我这个自己写的小dome上可以获取到正确的位置信息,复制到公司项目的时候又死活的获取不到了不知道什么问题啊!纠结了好久了。有没有大神解决了这个问题啊,,,,1811776792麻烦了
king_O_x 发表于 2016-10-11 10:20:18 | 显示全部楼层
在gradle中增加sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
diesel926 发表于 2016-10-12 23:34:32 | 显示全部楼层
你好  你的问题解决了吗??   我也是遇到这个问题了
diesel926 发表于 2016-10-12 23:34:55 | 显示全部楼层
你好  你的问题解决了吗??   我也是遇到这个问题了
moonlight_小米 发表于 2016-11-4 10:01:37 | 显示全部楼层
楼主,我也是NetWork location failed because baidu location service can not decrypt the request query, please check the so file ! 求解决办法
ding33211266 发表于 2016-11-7 16:03:21 | 显示全部楼层
请问楼主解决了么,也遇到了一样的问题,小米手机
用户_umyls7b1h 发表于 2016-11-7 16:45:38 | 显示全部楼层
我的android6.0以下版本定位成功,但是地址传过来是null还有经度和纬度是4.9E-324D,4.9E-324D 怎么会这样
用户_umyls7b1h 发表于 2016-11-7 16:46:44 | 显示全部楼层
好吃的平台 发表于 2016-9-20 11:13
我也是同样的问题,我测试了一下,发现在6.0之下的小米,vivo手机上测试都是正常的,可以获取到所有的定位 ...

我跟你是相反的 6.0的华为成功了,6.0以下就返回null
jfj088 发表于 2016-11-21 16:05:07 | 显示全部楼层
上帝早已晓得 发表于 2016-10-8 15:00
我这个自己写的小dome上可以获取到正确的位置信息,复制到公司项目的时候又死活的获取不到了不知道什么问 ...

我和您遇到一样的问题,请问您是怎么解决的。
caipei719 发表于 2016-11-22 12:33:24 | 显示全部楼层
king_O_x 发表于 2016-10-11 10:20
在gradle中增加sourceSets {
        main {
            jniLibs.srcDirs = ['libs']

jniLibs.srcDirs = ['src/main/jniLibs', 'src/main/jniLibs/']

点评

请问是mudel级别下的gradel还是项目级别的gradle添加这个?  发表于 2017-1-16 15:01
冰刃之晖 发表于 2016-11-29 10:52:29 | 显示全部楼层
遇到了同样报错:
    NetWork location failed because baidu location service check the key is unlegal, please check the ke
我的情况是:
    手机放一边很久没动,然后点亮屏幕,定位回调函数给我的 location.getLatitude() == Double.MIN_VALUE,description就是上面那个key unlegal。
解决办法是:
    重启我的app,定位正常使用。
结论:
    我这种情况根本不是key unlegal,报错信息室错误的
魔兽世几吧 发表于 2016-12-6 11:52:11 | 显示全部楼层
一样也是小米手机不行
依米1依米 发表于 2016-12-7 13:40:52 | 显示全部楼层
我也是同样的问题,魅蓝note2也不行
雪麟锋2658 发表于 2016-12-13 10:55:18 | 显示全部楼层
好吃的平台 发表于 2016-9-20 11:13
我也是同样的问题,我测试了一下,发现在6.0之下的小米,vivo手机上测试都是正常的,可以获取到所有的定位 ...

红米note2Android版本5.0也遇到了同样的问题,请问楼主是怎么解决的?
诸葛司懿 发表于 2016-12-13 16:45:38 | 显示全部楼层
我也遇到这个问题,不过刚刚解决了,分享一下思路。
所犯错误:
1、jks用了系统默认的debug秘钥
2、开发者SHA1填写错误
解决方案:
1、使用自己的生成的秘钥,找到SHA填写到发布版SHA1中。
2、开发者SHA1不填
现在能正常的请求地址与经纬度了。
syl376787348 发表于 2017-1-6 22:21:35 | 显示全部楼层
是是非非iiee 发表于 2016-12-24 08:59
已解决,是jar包和so文件问题,欢迎查看博客整理http://blog.csdn.net/u012382791/article/details/5385620 ...

说的很对,把 以前的文件全清了,重新导入一次.
wzh550319 发表于 2017-1-16 14:57:28 | 显示全部楼层
caipei719 发表于 2016-11-22 12:33
jniLibs.srcDirs = ['src/main/jniLibs', 'src/main/jniLibs/']

请问是在model级别的gradle还是在项目级别的gradle下添加?
用户_etm3nk0lf 发表于 2017-3-27 14:58:58 | 显示全部楼层
上帝早已晓得 发表于 2016-10-8 15:00
我这个自己写的小dome上可以获取到正确的位置信息,复制到公司项目的时候又死活的获取不到了不知道什么问 ...

你解决了吗????????
用户_z0x6kju7b 发表于 2017-4-21 16:11:57 | 显示全部楼层
问题已解决:如果你的app经过签名的话,获取sha1是就要使用自己的xxx.jks签名文件获取,而不是用默认的debug.keystore文件
用户_3s14rmp9n 发表于 2017-8-16 15:05:09 | 显示全部楼层
我也遇到了同样的问题 重洗下载so文件 也是不行 6.0以上就报4.9E 6.0一下就获取不到 愁死了
chen970504 发表于 2017-8-18 10:52:36 | 显示全部楼层
用户_3s14rmp9n 发表于 2017-8-16 15:05
我也遇到了同样的问题 重洗下载so文件 也是不行 6.0以上就报4.9E 6.0一下就获取不到 愁死了 ...

你解决了吗。我也是这个重新下载也没用

小黑屋|手机版|百度地图开放平台 ( 京ICP证030173号 )

GMT+8, 2017-9-21 05:46 , Processed in 0.295324 second(s), 27 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表