ソースを参照

更换CustomMarkLayer文字颜色,并根据作业票类型绘制图标

Frankensteinly 9 ヶ月 前
コミット
e524e89e03

+ 20 - 4
app/src/main/java/com/grkj/iscs/view/widget/CustomMarkLayer.kt

@@ -29,6 +29,11 @@ class CustomMarkLayer @JvmOverloads constructor(
     private var currentZoom = 0f
     private var currentDegree = 0f
     private lateinit var icon: Bitmap
+    private lateinit var iconRepair: Bitmap
+    private lateinit var iconPreMaintenance: Bitmap
+    private lateinit var iconChangeShifts: Bitmap
+    private lateinit var iconClean: Bitmap
+    private lateinit var iconSwitchProduct: Bitmap
 
     init {
         num = -1
@@ -38,8 +43,12 @@ class CustomMarkLayer @JvmOverloads constructor(
 
     private fun initLayer() {
         radiusMark = setValue(10.0f)
-        // TODO 图标待替换
-        icon = BitmapFactory.decodeResource(mapView.resources, R.mipmap.point_placeholder)
+        icon = BitmapFactory.decodeResource(mapView.resources, R.mipmap.map_repair)
+        iconRepair = BitmapFactory.decodeResource(mapView.resources, R.mipmap.map_repair)
+        iconPreMaintenance = BitmapFactory.decodeResource(mapView.resources, R.mipmap.map_pre_maintenance)
+        iconChangeShifts = BitmapFactory.decodeResource(mapView.resources, R.mipmap.map_change_shifts)
+        iconClean = BitmapFactory.decodeResource(mapView.resources, R.mipmap.map_clean)
+        iconSwitchProduct = BitmapFactory.decodeResource(mapView.resources, R.mipmap.map_switch_product)
         paint = Paint()
         paint.isAntiAlias = true
         paint.style = Paint.Style.FILL_AND_STROKE
@@ -153,7 +162,7 @@ class CustomMarkLayer @JvmOverloads constructor(
                         paint
                     )
 
-                    paint.color = -16777216
+                    paint.color = Color.parseColor("#FFFFFF")
                     paint.textSize = radiusMark
                     if (mapView.currentZoom.toDouble() > 0.8) {
                         canvas.drawText(
@@ -168,7 +177,14 @@ class CustomMarkLayer @JvmOverloads constructor(
                     if (list.isNotEmpty()) {
                         for (j in list.indices) {
                             canvas.drawBitmap(
-                                icon,
+                                when(list[j].ticketType) {
+                                    "0" -> iconRepair
+                                    "1" -> iconPreMaintenance
+                                    "2" -> iconChangeShifts
+                                    "3" -> iconClean
+                                    "4" -> iconSwitchProduct
+                                    else -> iconRepair
+                                },
                                 // 偶数个
                                 if (list.size % 2 == 0) {
                                     if (j + 1 <= list.size / 2) {

BIN
app/src/main/res/mipmap/map_change_shifts.png


BIN
app/src/main/res/mipmap/map_clean.png


BIN
app/src/main/res/mipmap/map_pre_maintenance.png


BIN
app/src/main/res/mipmap/map_repair.png


BIN
app/src/main/res/mipmap/map_switch_product.png


BIN
app/src/main/res/mipmap/point_placeholder.png