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

高德地图所使用的权限

     <!--允许程序打开网络套接字-->
<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)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容