From 63dc46bd1b16d2ca124561873d7d9adf535969f0 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Mon, 4 Mar 2024 15:31:38 +0800 Subject: [PATCH] =?UTF-8?q?[6.3.0][Fix]=E8=A7=A3=E5=86=B3=E5=A4=A9?= =?UTF-8?q?=E7=A9=BA=E7=9B=92=E5=AD=90=E5=8A=A8=E7=94=BB=E6=95=88=E6=9E=9C?= =?UTF-8?q?=E7=9A=84Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map/sdk/inner/common/ConstantExt.kt | 1 + .../map/sdk/inner/map/MapController.kt | 75 ++++++++++++------- 2 files changed, 50 insertions(+), 26 deletions(-) diff --git a/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/common/ConstantExt.kt b/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/common/ConstantExt.kt index d8e4c79f82..ff37048d58 100644 --- a/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/common/ConstantExt.kt +++ b/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/common/ConstantExt.kt @@ -138,6 +138,7 @@ object ConstantExt { const val MAP_STYLE_VR_OVER_LOOK_ANGLE_SKYBOX = 13f//视角 const val MAP_STYLE_VR_ZOOM_VAL_SKYBOX = 0.8f//缩放 const val MAP_STYLE_VR_EYE_HEIGHT_SKYBOX = 12f//高度 + const val MAP_STYLE_VR_ANIMATE_TIME_SKYBOX = 1500 //默认尾灯不亮 const val SELF_CAR_DEFAULT = 0 diff --git a/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/map/MapController.kt b/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/map/MapController.kt index 61b3a263e2..61ef97b489 100644 --- a/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/map/MapController.kt +++ b/libraries/mapmodule/src/main/java/com/zhidaoauto/map/sdk/inner/map/MapController.kt @@ -1297,6 +1297,45 @@ class MapController(private var context: Context?, private val mMapView: IMapVie var remainList = CopyOnWriteArrayList() var mLastPosition = LonLatPoint() var mRoamPostion = 0 + var lastViewType = ConstantExt.MAP_STYLE_VR_ANGLE_MIDDLE + + fun enableSkybox(){ + mMapView.getMapEngine().setCfgKeyVal(ConstantExt.SKYBOX, "enable;" + + "${ConstantExt.MAP_STYLE_VR_ANIMATE_TIME_SKYBOX}") + interpolation( + ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_SKYBOX, + ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_SKYBOX, + ConstantExt.MAP_STYLE_VR_ZOOM_VAL_SKYBOX, + ConstantExt.MAP_STYLE_VR_SKY_BOX, + -1 + ) + } + fun disableSkybox(eyeHeight: Float, angle: Float, zoomVal: Float, mode: Int, duration: Int){ + if(lastViewType==ConstantExt.MAP_STYLE_VR_SKY_BOX){ + mMapView.getMapEngine().setCfgKeyVal(ConstantExt.SKYBOX, "disable;" + + "${eyeHeight};" + + "${angle};" + + "${zoomVal};" + + "${ConstantExt.MAP_STYLE_VR_ANIMATE_TIME_SKYBOX}") + } + } + fun disableSkyboxAndInterpolation(eyeHeight: Float, angle: Float, zoomVal: Float, mode: Int, duration: Int){ + disableSkybox( + eyeHeight, + angle, + zoomVal, + mode, + duration, + ) + interpolation( + eyeHeight, + angle, + zoomVal, + mode, + duration, + ) + } + override fun setMapViewVisualAngle(type: Int) { mHandler.removeMessages(LOCK_CAR) mHandler.removeMessages(CHANGE_VIEW_ANGLE) @@ -1323,17 +1362,13 @@ class MapController(private var context: Context?, private val mMapView: IMapVie if (!mLockLocation.getLockCar() && type != ConstantExt.MAP_STYLE_VR_ROAM) { mLockLocation.setLockCar(true) } - if (type != ConstantExt.MAP_STYLE_VR_SKY_BOX) { - mMapView.getMapEngine().setCfgKeyVal(ConstantExt.FOG, "disable") - mMapView.getMapEngine().setCfgKeyVal(ConstantExt.SKYBOX, "disable") - } if(type != ConstantExt.MAP_STYLE_VR_BRIDGE){ mMapView.getMapEngine().setCfgKeyVal(ConstantExt.BRIDGE, "disable") } // mMapView.setIsFarViewAngel(false) when (type) { ConstantExt.MAP_STYLE_VR_ANGLE_MIDDLE -> { - interpolation( + disableSkyboxAndInterpolation( ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_MIDDLE, ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_MIDDLE, ConstantExt.MAP_STYLE_VR_ZOOM_VAL_MIDDLE, @@ -1343,7 +1378,7 @@ class MapController(private var context: Context?, private val mMapView: IMapVie } ConstantExt.MAP_STYLE_VR_ANGLE_MIDDLE_XIAOBA -> { - interpolation( + disableSkyboxAndInterpolation( ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_MIDDLE_XIAOBA, ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_MIDDLE_XIAOBA, ConstantExt.MAP_STYLE_VR_ZOOM_VAL_MIDDLE_XIAOBA, @@ -1353,7 +1388,7 @@ class MapController(private var context: Context?, private val mMapView: IMapVie } ConstantExt.MAP_STYLE_VR_ERHAI_B2 -> { - interpolation( + disableSkyboxAndInterpolation( ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_ERHAI, ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_ERHAI, ConstantExt.MAP_STYLE_VR_ZOOM_VAL_ERHAI, @@ -1363,26 +1398,13 @@ class MapController(private var context: Context?, private val mMapView: IMapVie } ConstantExt.MAP_STYLE_VR_SKY_BOX -> { - skyJob = getDemaningScope()?.launch(Dispatchers.IO) { - interpolation( - ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_SKYBOX, - ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_SKYBOX, - ConstantExt.MAP_STYLE_VR_ZOOM_VAL_SKYBOX, - ConstantExt.MAP_STYLE_VR_SKY_BOX, - -1 - ) - delay(1000) - //mMapView.getMapEngine().setCfgKeyVal("isSkyBoxFastChange", "disable") - mMapView.getMapEngine().setCfgKeyVal(ConstantExt.FOG, "enable") - mMapView.getMapEngine().setCfgKeyVal(ConstantExt.SKYBOX, "enable") - } -// + enableSkybox() } ConstantExt.MAP_STYLE_VR_ANGLE_FAR -> { // mMapView.setScreenToOriginDis(ConstantExt.MAP_STYLE_VR_POSITION_FAR) // mMapView.setDAngle(ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_FAR) - interpolation( + disableSkyboxAndInterpolation( ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_FAR, ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_FAR, ConstantExt.MAP_STYLE_VR_ZOOM_VAL_FAR, @@ -1428,7 +1450,7 @@ class MapController(private var context: Context?, private val mMapView: IMapVie } ConstantExt.MAP_STYLE_VR_ANGLE_300 -> { - interpolation( + disableSkyboxAndInterpolation( ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_300, ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_300, ConstantExt.MAP_STYLE_VR_ZOOM_VAL_300, @@ -1439,7 +1461,7 @@ class MapController(private var context: Context?, private val mMapView: IMapVie } ConstantExt.MAP_STYLE_VR_ANGLE_TOP -> { - interpolation( + disableSkyboxAndInterpolation( ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_TOP, ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_TOP, ConstantExt.MAP_STYLE_VR_ZOOM_VAL_TOP, @@ -1450,7 +1472,7 @@ class MapController(private var context: Context?, private val mMapView: IMapVie } ConstantExt.MAP_STYLE_VR_ANGLE_CROSS -> { - interpolation( + disableSkyboxAndInterpolation( ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_CROSS, ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_CROSS, ConstantExt.MAP_STYLE_VR_ZOOM_VAL_CROSS, @@ -1500,7 +1522,7 @@ class MapController(private var context: Context?, private val mMapView: IMapVie ConstantExt.MAP_STYLE_VR_BRIDGE->{ mMapView.getMapEngine().setCfgKeyVal(ConstantExt.BRIDGE, "enable") - interpolation( + disableSkyboxAndInterpolation( ConstantExt.MAP_STYLE_VR_EYE_HEIGHT_BRIDGE, ConstantExt.MAP_STYLE_VR_OVER_LOOK_ANGLE_BRIDGE, ConstantExt.MAP_STYLE_VR_ZOOM_VAL_BRIDGE, @@ -1513,6 +1535,7 @@ class MapController(private var context: Context?, private val mMapView: IMapVie if(type != ConstantExt.MAP_STYLE_VR_ROAM) { mEventController?.dispatchMapViewVisualAngleChangeListener(type) } + lastViewType = type } fun setRoamStyle() {