百度定位mLocClient.isStarted();返回false[已解决]

<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote">
</service>
我的问题就在:serviece中的name="com.baidu.location.f " 被我错误弄成了“com.baiduSDK.location.f”;真的手多,我弄了一个包:com.baiduSDK.location 然后它就自动变成了这样子,我看到都惊呆了!!!郁闷了一晚!

1.new LocationClient(getApplicationContext()); // 实例化 LocationClient 的时候一定要用getApplicationContext()而不是用this

mLocClient = new LocationClient(getApplicationContext());//声明LocationClient类
		mLocClient.registerLocationListener(myListener);//注册监听函数
		LocationClientOption option = new LocationClientOption();
		option.disableCache(true);//禁止启用缓存定位
		option.setOpenGps(true);
		option.setLocationMode(LocationMode.Hight_Accuracy);//设置定位模式
		option.setCoorType("bd09ll");//返回的定位结果是百度经纬度,默认值gcj02
		option.setScanSpan(0);//设置发起定位请求的间隔时间为5000ms
		option.setIsNeedAddress(true);//返回的定位结果包含地址信息
		option.setNeedDeviceDirect(false);//返回的定位结果包含手机机头的方向
		mLocClient.setLocOption(option);
		mLocClient.start();
		Log.w("Baidu", "mLocClient.isStarted():"+mLocClient.isStarted());
		if (mLocClient!=null&&mLocClient.isStarted()) {
			mLocClient.requestLocation();//单次请求定位
		}else {
			 Log.i("LocSDK3", "locClient is null or not started");
		}




http://developer.baidu.com/map/geosdk-android-developv4.1.htm#.E5.8A.9F.E8.83.BD.E7.B1.BB.E7.9A.84.E4.BD.BF.E7.94.A8

http://blog.163.com/gene_lu/blog/static/6402542120134252327669/

Activity tempActivity = App.getMultiRoundActivity(); if (tempActivity != null && tempActivity instanceof MapBaseActivity) { ((MapBaseActivity) tempActivity).searchPoiWithLocationCheck(pi); }这个调用方法是, public void searchPoiWithLocationCheck(PoiSearchInfo poiSearchInfo) { this.mPoiSearchInfo = poiSearchInfo; Log.i(getClass().getSimpleName(), "searchPoiWithLocationCheck: "); mHandler.post(() -> { if (location_last_success_time == 0 || (System.currentTimeMillis() - location_last_success_time) > LOCATION_MAX_USE_TIME) { Log.i(MapBaseActivity.this.getClass().getSimpleName(), "searchPoiWithLocationCheck , wait for location ready" + mLocClient); if (mToastLocating == null) { mToastLocating = Toast.makeText(MapBaseActivity.this, "正在定位,请稍后", Toast.LENGTH_LONG); } if (mLocClient == null) { Log.i(MapBaseActivity.this.getClass().getSimpleName(), "searchPoiWithLocationCheck : reInit location caused by null"); initLocation(); } else if (!mLocClient.isStarted()) { Log.i(MapBaseActivity.this.getClass().getSimpleName(), "searchPoiWithLocationCheck : restart location caused by stoped"); mLocClient.start(); } mIsPoiSearchNeeded = true; mToastLocating.show(); } else { searchPoi(poiSearchInfo); } }); 其中,会走else,也就是searchPoi(poiSearchInfo);方法, public void searchPoi(PoiSearchInfo poiSearchInfo) { Log.i(getClass().getSimpleName(), "searchPoi: " + poiSearchInfo ); mIsPoiSearchNeeded = false; // 配置请求参数 附近检索 if (poiSearchInfo.getSearchType() == Constant.MAP_SEARCH_CITY){ searchInCity(poiSearchInfo); } else { searchNearBy(poiSearchInfo); } } 帮我修改一下这个调用方法的时候,要区分是哪一个行动,也就是去修改去目的地还是添加途经点
05-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值