diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt index e6c1d08739..4a56ed9944 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt @@ -379,6 +379,7 @@ class TravelRealityView @JvmOverloads constructor( } } else { clearPolyline() + clearSmallSites() hideSmallCarMarker() // 显示行程总览地图样式 changeMapSettings(false) @@ -1596,6 +1597,15 @@ class TravelRealityView @JvmOverloads constructor( } } + private fun clearSmallSites() { + UiThreadHandler.post { + smallSiteMarkerList?.forEach { + it.destroy() + } + smallSiteMarkerList = null + } + } + private fun hideStartEndMarker() { if (mSmallStartMarker != null) { mSmallStartMarker!!.isVisible = false @@ -1746,6 +1756,8 @@ class TravelRealityView @JvmOverloads constructor( drawStartAndEnd(locList) } } else if (ochInfo.type == 1) { + mSmallSiteList = null + mSiteList.clear() val siteDataList = ochInfo.siteMarkerList val markerOptionsList: ArrayList = ArrayList() siteDataList?.let { siteList -> @@ -1764,7 +1776,7 @@ class TravelRealityView @JvmOverloads constructor( ) ) } - mSmallSiteList = siteDataList + mSmallSiteList = siteList } if (!isPlayingAnim) { drawSiteMarkers(markerOptionsList) @@ -1842,12 +1854,7 @@ class TravelRealityView @JvmOverloads constructor( private fun drawSiteMarkers(markerOptionsList: ArrayList) { if (isSmallMap) { if (markerOptionsList.isEmpty()) { - UiThreadHandler.post { - smallSiteMarkerList?.forEach { - it.destroy() - } - smallSiteMarkerList = null - } + clearSmallSites() } else { UiThreadHandler.post { smallSiteMarkerList = mAMap?.addMarkers(markerOptionsList, false) @@ -2251,7 +2258,7 @@ class TravelRealityView @JvmOverloads constructor( } private fun realDrawSiteMarkers(options: ArrayList) { - CallerLogger.d("$M_MAP$TAG", "realDrawSiteMarkers") + CallerLogger.d("$M_MAP$TAG", "realDrawSiteMarkers,optEmpty:${options.isEmpty()}") siteMarkerList.forEach { it.destroy() }