百度地图SDK获取经纬度返回4.9E-324

2019-07-23  本文已影响0人  百事可乐99

这个4.9E-324其实是定位的默认值,出现这个问题的原因可能如下:

        <service
            android:name="com.baidu.location.f"
            android:enabled="true"
            android:exported="false"
            android:process=":remote" />

        <meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="${BAIDU_LBS_APP_KEY}" />
   private static void initLocal(){
        DebugUtil.debug(TAG, "init Local");
        Looper.prepare();// 这个地方要先调用Looper.prepare();不然在一些机器上会崩溃
        LocalService.getInstant();
        Looper.loop();
    }

LocalService#getInstance方法如下:

    public static synchronized LocalService getInstant() {
        if (mManager == null) {
            mManager = new LocalService();
            mManager.init();
        }
        return mManager;
    }

    private void init() {
        mLocationClient = new LocationClient(BaseApplication.getContext().getApplicationContext());
        LocationClientOption option = new LocationClientOption();
        option.setLocationMode(LocationClientOption.LocationMode.Battery_Saving);//设置定位模式
        option.setCoorType("bd09ll");//返回的定位结果是百度经纬度,默认值gcj02
        option.setIsNeedAddress(true);//返回的定位结果包含地址信息
        option.setAddrType("all");
        mLocationClient.setLocOption(option);
    }
上一篇 下一篇

猜你喜欢

热点阅读