android - 华为地图套件风格特征
问题描述
我正在开发一个参考应用程序。该应用程序通过带有样式文件的华为地图套件具有全屏地图。当用户第一次打开应用程序时,地图样式无法正常工作。但是在用户重新打开应用程序后样式可以正常工作。
我添加了代码块和应用程序的屏幕截图。任何帮助,将不胜感激
地图套件版本:实现 'com.huawei.hms:maps:5.2.0.300'
override fun onMapReady(map: HuaweiMap) {
Log.d(TAG, "onMapReady: ")
hMap = map
hMap?.uiSettings?.isMyLocationButtonEnabled = false
hMap?.moveCamera(CameraUpdateFactory.newLatLngZoom(LatLng(48.893478, 2.334595), 10f))
setSimpleStyle()
}
fun setSimpleStyle() {
val styleOptions = MapStyleOptions.loadRawResourceStyle(this, R.raw.mapstyle_simple)
hMap?.setMapStyle(styleOptions)
}
解决方案
这个问题有一个解决方案。
- 你可以去这个网站制作一个自我风格的地图,这是我的测试:
“保存”并“发布”它:
将预览 ID 和麦粒肿 ID 保存到某个地方。
然后导出地图样式:
将 Json 字符串保存到 Android Studio 项目---- res ---- raw ----mapstyle_simple.json
- 最后在代码中:
override fun onMapReady(map: HuaweiMap) {
Log.d(TAG, "onMapReady: ")
hMap = map
hMap?.uiSettings?.isMyLocationButtonEnabled = false
hMap?.moveCamera(CameraUpdateFactory.newLatLngZoom(LatLng(48.893478, 2.334595), 10f))
setSimpleStyle()
}
fun setSimpleStyle() {
val styleOptions = MapStyleOptions.loadRawResourceStyle(this, R.raw.mapstyle_simple)
hMap?.setMapStyle(styleOptions)
hMap?.setStyleId("your style id saved above")
hMap?.previewId("your preview id saved above")
}