From 3df5edc79ee9068418ac4664fae4d751f7d08993 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Thu, 1 Dec 2022 16:00:18 +0800 Subject: [PATCH] =?UTF-8?q?[2.13.0]=E6=9B=B4=E6=96=B0=E5=85=A8=E8=A7=88?= =?UTF-8?q?=E5=9C=B0=E5=9B=BEV2X=E4=BA=8B=E4=BB=B6=E6=B0=94=E6=B3=A1?= =?UTF-8?q?=E7=9A=84=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/smp/AMapCustomView.java | 13 ++++++- .../eagle/core/function/smp/V2XMarkerView.kt | 23 +++++++++++ .../src/main/res/layout/layout_v2x_maker.xml | 36 ++++++++++++++++++ .../drawable-xhdpi/icon_v2x_marker.png | Bin 0 -> 5560 bytes 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/V2XMarkerView.kt create mode 100644 core/function-impl/mogo-core-function-map/src/main/res/layout/layout_v2x_maker.xml create mode 100644 core/mogo-core-res/src/main/function-hmi-res/drawable-xhdpi/icon_v2x_marker.png diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java index c4640c4a4c..a6c8f73d09 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java @@ -54,6 +54,7 @@ import java.util.Map; import ch.hsr.geohash.GeoHash; import kotlin.Pair; +import me.jessyan.autosize.utils.AutoSizeUtils; import mogo.telematics.pad.MessagePad; /** @@ -270,7 +271,7 @@ public class AMapCustomView LatLng latLng = new LatLng(center.getLat(), center.getLon()); markerOption.position(latLng); - markerOption.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_small_v2x_road_construction)); + markerOption.icon(BitmapDescriptorFactory.fromBitmap(getV2XBitmap())); markerOptionsList.add(markerOption); } } @@ -292,6 +293,16 @@ public class AMapCustomView }); } + private Bitmap getV2XBitmap() { + V2XMarkerView marker = new V2XMarkerView(getContext()); + marker.measure(View.MeasureSpec.makeMeasureSpec(AutoSizeUtils.dp2px(mContext, 229), View.MeasureSpec.EXACTLY), + View.MeasureSpec.makeMeasureSpec(AutoSizeUtils.dp2px(mContext, 96), View.MeasureSpec.EXACTLY)); + marker.layout(0, 0, marker.getMeasuredWidth(), marker.getMeasuredHeight()); + Bitmap bitmap = Bitmap.createBitmap(marker.getWidth(), marker.getHeight(), Bitmap.Config.ARGB_8888); + marker.draw(new Canvas(bitmap)); + return bitmap; + } + public void clearV2XMarkers() { if (currMarkerList != null) { for (Marker marker : currMarkerList) { diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/V2XMarkerView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/V2XMarkerView.kt new file mode 100644 index 0000000000..a776a29073 --- /dev/null +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/V2XMarkerView.kt @@ -0,0 +1,23 @@ +package com.mogo.eagle.core.function.smp + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.function.map.R +import kotlinx.android.synthetic.main.view_maker_with_count.view.* + +class V2XMarkerView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout ( + context, + attrs, + defStyleAttr +) { + + init { + LayoutInflater.from(context).inflate(R.layout.layout_v2x_maker, this, true) + } +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/res/layout/layout_v2x_maker.xml b/core/function-impl/mogo-core-function-map/src/main/res/layout/layout_v2x_maker.xml new file mode 100644 index 0000000000..8a5ee087ea --- /dev/null +++ b/core/function-impl/mogo-core-function-map/src/main/res/layout/layout_v2x_maker.xml @@ -0,0 +1,36 @@ + + + + + + + + \ No newline at end of file diff --git a/core/mogo-core-res/src/main/function-hmi-res/drawable-xhdpi/icon_v2x_marker.png b/core/mogo-core-res/src/main/function-hmi-res/drawable-xhdpi/icon_v2x_marker.png new file mode 100644 index 0000000000000000000000000000000000000000..534677fd8db934486ac35416472e31ee7d19cca3 GIT binary patch literal 5560 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 E4_|V14*&oF literal 0 HcmV?d00001