高德地图蓝点定位不显示蓝点

2021-01-13  本文已影响0人  残非

高德地图所使用的权限

     <!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允许程序设置内置sd卡的写权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允许程序访问WiFi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--允许程序读写手机状态和身份-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--GPS定位-- 之前不显示蓝点>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--声明后台定位权限-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

写完后发现蓝点没出来,看遍文档也没发现原因,发现要显示定位蓝点,需要 ACCESS_FINE_LOCATION 权限

另外,还需要判断gps有没有打开,没有的话需要引导用户打开gps

    //判断gps是否打开
    fun isOpenGps():Boolean =  (context.getSystemService(Context.LOCATION_SERVICE) as 
LocationManager)
        .run {
            isProviderEnabled(LocationManager.GPS_PROVIDER)
        }
    //跳转到打开gps设置页面
    fun openGPSSetting(activity:Activity,requestCode:Int) = activity.startActivityForResult(Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS),requestCode)

fun openGPSSetting(fragment:Fragment,requestCode:Int) = fragment.startActivityForResult(Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS),requestCode)
上一篇 下一篇

猜你喜欢

热点阅读