BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #24336同步于 2015/8/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

百度地图api的定位问题,按照demo来的,但是还是无法定位

nijian81
2015/8/12镜像同步14 回复
我看的是百度地图的定位demo,完全按照demo的步骤来的,但是我用toast去查看定位结果,一直是空,不知道哪里出了问题。下面贴下我的代码,求大神指教~ 1.这个是oncreate内的代码: // 初始化搜索模块,注册事件监听 mLocationClient = new LocationClient(this); mMyLocationListener = new MyLocationListener(); mLocationClient.registerLocationListener(mMyLocationListener); //设置定位条件 LocationClientOption option = new LocationClientOption(); option.setOpenGps(true); //是否打开GPS option.setCoorType("bd09ll"); //设置返回值的坐标类型。 option.setPriority(LocationClientOption.NetWorkFirst); //设置定位优先级 option.setProdName("LocationDemo"); //设置产品线名称。强烈建议您使用自定义的产品线名称,方便我们以后为您提供更高效准确的定位服务。 option.setScanSpan(1000); //设置定时定位的时间间隔。单位毫秒 mLocationClient.setLocOption(option); mLocationClient.start(); 2.这个是监视器内的代码: public class MyLocationListener implements BDLocationListener { @Override public void onReceiveLocation(BDLocation location) { //Receive Location Toast.makeText(InstantCallActivity.this,location.getCity(),Toast.LENGTH_SHORT).show(); StringBuffer sb = new StringBuffer(256); sb.append("time : "); sb.append(location.getTime()); sb.append("\nerror code : "); sb.append(location.getLocType()); sb.append("\nlatitude : "); sb.append(location.getLatitude()); sb.append("\nlontitude : "); sb.append(location.getLongitude()); sb.append("\nradius : "); sb.append(location.getRadius()); if (location.getLocType() == BDLocation.TypeGpsLocation){// GPS定位结果 sb.append("\nspeed : "); sb.append(location.getSpeed());// 单位:公里每小时 sb.append("\nsatellite : "); sb.append(location.getSatelliteNumber()); sb.append("\nheight : "); sb.append(location.getAltitude());// 单位:米 sb.append("\ndirection : "); sb.append(location.getDirection()); sb.append("\naddr : "); sb.append(location.getAddrStr()); sb.append("\ndescribe : "); sb.append("gps定位成功"); } else if (location.getLocType() == BDLocation.TypeNetWorkLocation){// 网络定位结果 sb.append("\naddr : "); sb.append(location.getAddrStr()); //运营商信息 sb.append("\noperationers : "); sb.append(location.getOperators()); sb.append("\ndescribe : "); sb.append("网络定位成功"); } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果 sb.append("\ndescribe : "); sb.append("离线定位成功,离线定位结果也是有效的"); } else if (location.getLocType() == BDLocation.TypeServerError) { sb.append("\ndescribe : "); sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因"); } else if (location.getLocType() == BDLocation.TypeNetWorkException) { sb.append("\ndescribe : "); sb.append("网络不同导致定位失败,请检查网络是否通畅"); } else if (location.getLocType() == BDLocation.TypeCriteriaException) { sb.append("\ndescribe : "); sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机"); } sb.append("\nlocationdescribe : ");// 位置语义化信息 sb.append(location.getLocationDescribe()); List<Poi> list = location.getPoiList();// POI信息 if (list != null) { sb.append("\npoilist size = : "); sb.append(list.size()); for (Poi p : list) { sb.append("\npoi= : "); sb.append(p.getId() + " " + p.getName() + " " + p.getRank()); } } logMsg(sb.toString()); Log.i("BaiduLocationApiDem", sb.toString()); } }
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
wu242机器人#1 · 2015/8/12
首先,可以运行下demo里面的工程,看下有没有问题。其次,检查下key等有没有对,在看下配置文件中有没有按照要求添加内容。最后,吧手机上什么安全管家之类的先删了吧
zhbzhbzhbz机器人#2 · 2015/8/12
先百度吧,我原来也遇到过类似的问题,都是百度到,试出来的答案。多看看Logcat,再去看看库用的对不对。还有权限、key一类的问题。 【 在 nijian81 的大作中提到: 】 : 我看的是百度地图的定位demo,完全按照demo的步骤来的,但是我用toast去查看定位结果,一直是空,不知道哪里出了问题。下面贴下我的代码,求大神指教~ : 1.这个是oncreate内的代码: : // 初始化搜索模块,注册事件监听 : ...................
zhbzhbzhbz机器人#3 · 2015/8/12
比如你SDKInitializer.initialize(getApplicationContext()); 了么 【 在 nijian81 的大作中提到: 】 : 我看的是百度地图的定位demo,完全按照demo的步骤来的,但是我用toast去查看定位结果,一直是空,不知道哪里出了问题。下面贴下我的代码,求大神指教~ : 1.这个是oncreate内的代码: : // 初始化搜索模块,注册事件监听 : ...................
nijian81机器人#4 · 2015/8/12
【 在 zhbzhbzhbz 的大作中提到: 】 : 先百度吧,我原来也遇到过类似的问题,都是百度到,试出来的答案。多看看Logcat,再去看看库用的对不对。还有权限、key一类的问题。 试了很多此,有一次偶然出来了bdlocation.getcity()的结果了,但是后面无论如何也出不来了,我已经放弃了,改成手动输入城市了...
nijian81机器人#5 · 2015/8/12
【 在 wu242 的大作中提到: 】 : 首先,可以运行下demo里面的工程,看下有没有问题。其次,检查下key等有没有对,在看下配置文件中有没有按照要求添加内容。最后,吧手机上什么安全管家之类的先删了吧 嗯嗯~
thomaszzc机器人#6 · 2015/8/12
如果你要显示的是城市的话,我觉得你可能已经成功了,只不过要用get city 这个方法,需要设置一个参数,要不然就一直为空,哪个参数忘记了,不过你可以试试其他属性,只要有一个属性不为空,就是定位成功了 发自「贵邮」
thomaszzc机器人#7 · 2015/8/12
http://zzcjobstudy.iteye.com/blog/2212120 这是我当时做的笔记,我觉得你应该和我问题一样,希望能帮到你。 发自「贵邮」
nijian81机器人#8 · 2015/8/12
【 在 thomaszzc 的大作中提到: 】 : http://zzcjobstudy.iteye.com/blog/2212120 : 这是我当时做的笔记,我觉得你应该和我问题一样,希望能帮到你。 : 发自「贵邮」 嗯啊,谢啦,我估计是setoption的参数不对,但是我完全按照demo的参数来弄的,已然放弃.....
zishi机器人#9 · 2015/8/12
定位要求高点还是高德好,百度包大点,还行不会有定位不到的问题。。