TheMelody/OmniMap-Compose

如何为高德地图添加 MyLocationStyle 来显示定位蓝点

SakurajimaMaii opened this issue · 4 comments

没有找到对应的方法,这是文档的描述 显示定位蓝点

没有找到对应的方法,这是文档的描述 显示定位蓝点

初始化一个MapProperties,然后你传myLocationStyle。设置给GDMap

感谢你的回复,我已经按照要求进行了如下设置
image
但很遗憾他并没有出现蓝点进行定位,所以可能需要你的进一步协助

感谢你的回复,我已经按照要求进行了如下设置
image
但很遗憾他并没有出现蓝点进行定位,所以可能需要你的进一步协助

请打开这个示例查看:

https://github.com/TheMelody/OmniMap-Compose/blob/master/sample-gaode/src/main/java/com/melody/map/myapplication/repo/LocationTrackingRepository.kt

问题已经解决,不过在这里留下一些参考信息供后来者参考。

根据官方文档描述,对于 5.0.0版本以后 ,实现蓝点定位仅需以下代码:

val myLocationStyle = MyLocationStyle()
myLocationStyle.interval(2000) //设置连续定位模式下的定位间隔,只在连续定位模式下生效,单次定位模式下不会生效。单位为毫秒。
aMap.myLocationStyle = myLocationStyle //设置定位蓝点的Style
aMap.isMyLocationEnabled = true // 设置为true表示启动显示定位蓝点,false表示隐藏定位蓝点并不进行定位,默认是false。

而对于 5.0.0版本以前 ,如果想要实现蓝点定位还需要创建 AMapLocationClient 对象,具体参考 初始化定位

可以看到对于5.0.0版本以上 AndroidView 体系下使用定位蓝点是不需要创建 AMapLocationClient

但是对于 Compose ,即便是 5.0.0 版本以上,我们依旧需要提供 AMapLocationClient ,以下是我做的尝试:

  1. 注释掉示例代码初始化 AMapLocationClient 部分的代码

    image

  2. 添加日志进行调试

    image

此时运行运行应用,即便 MapPropertiesAndroidView 一样设置 isMyLocationEnabledtrue ,添加 myLocationStyle , 也不会进行定位。