Переглянути джерело

Refactor(update):
- Optimize CustomMarkLayer touch event handling.
- Modify ArcSoftUtil resource release logic.

周文健 2 місяців тому
батько
коміт
a547fd1cc5

+ 1 - 1
app/src/main/java/com/grkj/iscs_mars/util/ArcSoftUtil.kt

@@ -301,6 +301,6 @@ object ArcSoftUtil {
             cameraHelper!!.release()
             cameraHelper = null
         }
-        unInitEngine()
+//        unInitEngine()
     }
 }

+ 4 - 2
app/src/main/java/com/grkj/iscs_mars/view/widget/CustomMarkLayer.kt

@@ -50,7 +50,7 @@ class CustomMarkLayer @JvmOverloads constructor(
     }
 
     override fun onTouch(event: MotionEvent) {
-        if (pointList.isNotEmpty()) {
+        if (pointList.isNotEmpty() && event.action == MotionEvent.ACTION_UP) {
             val goal = mapView.convertMapXYToScreenXY(event.x, event.y)
 
             for (i in pointList.indices) {
@@ -133,6 +133,7 @@ class CustomMarkLayer @JvmOverloads constructor(
                 }
             }
 
+
             if (listener != null && isClickMark) {
                 listener!!.markIsClick(num, btnIndex, isClickIcon)
                 mapView.refresh()
@@ -154,7 +155,8 @@ class CustomMarkLayer @JvmOverloads constructor(
                 val viewW = canvas.width.toFloat()
                 val viewH = canvas.height.toFloat()
                 val margin = mBitmapSize * 3f
-                val viewport = android.graphics.RectF(-margin, -margin, viewW + margin, viewH + margin)
+                val viewport =
+                    android.graphics.RectF(-margin, -margin, viewW + margin, viewH + margin)
 
                 pointList.forEach { point ->
                     val mark = point.pos