lmw
2023-04-17 51f657872f152a115fb055ad8860093a5cdbc12d
app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt
@@ -19,10 +19,7 @@
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.ioScheduler
import cn.sinata.xldutils.rxutils.ResultException
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.optInt
import cn.sinata.xldutils.utils.toTime
import cn.sinata.xldutils.utils.*
import cn.sinata.xldutils.visible
import com.amap.api.location.AMapLocationClient
import com.amap.api.location.AMapLocationClientOption
@@ -112,8 +109,8 @@
        mMapView.onCreate(savedInstanceState)
        getNotice()
        getBottomAds()
        initMap()
        getRxPermission {
            initMap()
            initLocation()
        }
        initTab()
@@ -381,17 +378,23 @@
    }
    fun getRxPermission(function: () -> Unit) {
        val disposable =
            RxPermissions(activity!!).request(Manifest.permission.ACCESS_FINE_LOCATION)
                .subscribe {
                    if (it) {
                        function()
                    } else {
                        function()
                        myToast("没有定位权限")
        if (!RxPermissions(requireActivity()).isGranted(Manifest.permission.ACCESS_FINE_LOCATION) //没有权限且明确拒绝就不再申请权限
            && SPUtils.instance().getBoolean(Const.User.IS_REFUSE_PERMISSION_LOCATION)){
            function()
//            myToast("没有定位权限")
        }else{
            val disposable =
                RxPermissions(activity!!).request(Manifest.permission.ACCESS_FINE_LOCATION)
                    .subscribe {
                        if (it) {
                            function()
                        } else {
                            SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION,true).apply()
                            function()
                        }
                    }
                }
        onBindHelper(disposable)
            onBindHelper(disposable)
        }
    }
    private var locCount = 0L //定位次数
@@ -400,7 +403,7 @@
        val myLocationStyle = MyLocationStyle()
        myLocationStyle.strokeColor(resources.getColor(R.color.colorBrown))
        myLocationStyle.radiusFillColor(resources.getColor(R.color.colorTransBrown))
        myLocationStyle.interval(3000)
        myLocationStyle.interval(10000)
        myLocationStyle.anchor(0.5f, 0.5f)
        myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER)//
        myLocationStyle.myLocationIcon(BitmapDescriptorFactory.fromResource(R.mipmap.icon_coordinate))
@@ -419,6 +422,7 @@
            FBApplication.address = it.address
            FBApplication.cityCode = it.extras.getString("adcode") ?: ""
            if (locCount < 1) {
                Log.e(Const.Tag, "首页:lat:" + mainActivity.lat + ",lon:" + mainActivity.lon)
                if (mainActivity.lat != 0.0)
                    aMap.animateCamera(
                        CameraUpdateFactory.newLatLngZoom(