diff --git a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml
index 2c0db1f901..38c6964ead 100644
--- a/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml
+++ b/OCH/bus/driver/src/main/res/layout/bus_base_fragment.xml
@@ -290,9 +290,16 @@
app:layout_constraintBottom_toBottomOf="@id/module_mogo_och_badcase_rl"
app:layout_constraintLeft_toRightOf="@id/module_mogo_och_badcase_rl"
app:layout_constraintTop_toTopOf="@id/module_mogo_och_badcase_rl"
- app:roma_open_bg="@drawable/bus_operation_status_select_bg"
app:roma_close_bg="@drawable/bus_operation_status_bg"
- />
+ app:roma_open_bg="@drawable/bus_operation_status_select_bg" />
+
+
+ app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toTopOf="parent" />
+
+
+
+
+
+
+
+
+
+ app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+ android:layout_marginBottom="@dimen/dp_20"
+ android:scaleType="fitCenter"
+ android:src="@drawable/video_btn_selector"
+ android:visibility="gone"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintLeft_toLeftOf="parent" />
\ No newline at end of file
diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml b/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml
index 6e58362b02..e133328a37 100644
--- a/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml
+++ b/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml
@@ -317,6 +317,14 @@
app:roma_close_bg="@drawable/taxi_operation_status_bg"
/>
+
+
diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml
index 8be81cb34d..676837db9a 100644
--- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml
+++ b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml
@@ -81,6 +81,15 @@
app:roma_close="@drawable/roma_taxi_p_bg_selector"
app:roma_open="@drawable/taxi_p_roma_checked" />
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_base_fragment.xml
index bdb06a665e..264d62e0ae 100644
--- a/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_base_fragment.xml
+++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/taxi_p_base_fragment.xml
@@ -1,7 +1,6 @@
@@ -9,20 +8,19 @@
android:id="@+id/overMapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
- app:resetDrawable="@null"
- app:startPointDrawable="@drawable/taxi_p_map_view_dir_start"
- app:endPointDrawable="@drawable/taxi_p_map_view_dir_end"
+ app:arrivedDrawable="@drawable/taxi_overmap_arrived"
+ app:bottomPadding="160"
app:carDrawable="@drawable/taxi_p_map_car"
app:compassDrawable="@drawable/taxi_p_map_car_light"
- app:arrivedDrawable="@drawable/taxi_overmap_arrived"
- app:unArrivedDrawable="@drawable/taxi_overmap_arriving"
+ app:endPointDrawable="@drawable/taxi_p_map_view_dir_end"
+ app:leftPadding="800"
app:mapStyleExtraPath="style_extra.data"
app:mapStylePath="style.data"
- app:leftPadding="800"
+ app:resetDrawable="@null"
app:rightPadding="160"
+ app:startPointDrawable="@drawable/taxi_p_map_view_dir_start"
app:topPadding="160"
- app:bottomPadding="160"
- />
+ app:unArrivedDrawable="@drawable/taxi_overmap_arriving" />
+ android:layout_height="match_parent" />
+ app:layout_constraintStart_toStartOf="parent"
+ app:pnc_size="@dimen/dp_44" />
+
+
+
+
+
+
+
+
+
+
+ app:traffic_light_user="traffic_light_taxi_p" />
+ app:layout_constraintRight_toLeftOf="@id/traffic_light_view"
+ app:layout_constraintTop_toTopOf="parent"
+ app:user="taxi_p" />
+ app:layout_constraintStart_toStartOf="parent" />
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent" />
+ app:layout_constraintBottom_toTopOf="@id/aciv_xiaozhi_normal"
+ app:layout_constraintEnd_toEndOf="parent" />
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/dp_120"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaBusView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaBusView.kt
index 21077b9aaf..92df0b1e4d 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaBusView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaBusView.kt
@@ -57,7 +57,7 @@ class RomaBusView @JvmOverloads constructor(
}
setOnClickListener {
- if (ClickUtils.isClickTooFrequent(this,1000)) {
+ if (ClickUtils.isClickTooFrequent(this,2500)) {
return@setOnClickListener
}
if(!click){
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaDistanceView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaDistanceView.kt
new file mode 100644
index 0000000000..c430936723
--- /dev/null
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaDistanceView.kt
@@ -0,0 +1,79 @@
+package com.mogo.eagle.core.function.hmi.ui.widget
+
+import android.content.Context
+import android.text.Html
+import android.util.AttributeSet
+import android.util.Log
+import android.util.TypedValue
+import android.view.LayoutInflater
+import android.view.View
+import androidx.constraintlayout.widget.ConstraintLayout
+import com.mogo.eagle.core.function.api.map.roma.IMoGoRomaListener
+import com.mogo.eagle.core.function.call.map.CallerMapRomaListener
+import com.mogo.eagle.core.function.hmi.R
+import kotlinx.android.synthetic.main.view_roma_distance.view.*
+import me.jessyan.autosize.utils.AutoSizeUtils
+
+class RomaDistanceView @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = 0
+) : ConstraintLayout(context, attrs, defStyleAttr) , IMoGoRomaListener {
+
+ companion object {
+ private const val TAG = "RomaDistanceView"
+ }
+
+ private var disChangeColor = false
+
+ init {
+ LayoutInflater.from(context).inflate(R.layout.view_roma_distance, this, true)
+ val a = context.obtainStyledAttributes(
+ attrs,
+ R.styleable.RomaDistanceView,
+ defStyleAttr,
+ 0
+ )
+// val distanceBg = a.getResourceId(R.styleable.RomaDistanceView_roma_distance_bg,0)
+// if(distanceBg != 0){
+// romaDistanceBg.background = resources.getDrawable(distanceBg)
+// }
+ val txtSize = a.getInteger(R.styleable.RomaDistanceView_roma_txt_size,35)
+ romaDistanceMeter.setTextSize(TypedValue.COMPLEX_UNIT_PX,
+ AutoSizeUtils.dp2px(getContext(),txtSize.toFloat()).toFloat())
+ val txtDisColor = a.getBoolean(R.styleable.RomaDistanceView_roma_change_dis_color,false)
+ disChangeColor = txtDisColor
+ a.recycle()
+ }
+
+ override fun onAttachedToWindow() {
+ super.onAttachedToWindow()
+ CallerMapRomaListener.addListener(TAG, this)
+ }
+
+ override fun romaStatus(status: Boolean) {
+ super.romaStatus(status)
+ if (status) {
+ romaDistanceBg.visibility = View.VISIBLE
+ } else {
+ romaDistanceBg.visibility = View.GONE
+ romaDistanceMeter.text = ""
+ }
+ }
+
+ override fun romaDistance(distance: String) {
+ super.romaDistance(distance)
+ val dis = distance.toDouble().toInt()
+ Log.i(TAG, "romaDistance:$distance")
+ if(disChangeColor){
+ romaDistanceMeter.text = Html.fromHtml("漫游距离${dis}米")
+ }else{
+ romaDistanceMeter.text = "漫游距离${dis}米"
+ }
+ }
+
+ override fun onDetachedFromWindow() {
+ super.onDetachedFromWindow()
+ CallerMapRomaListener.removeListener(TAG)
+ }
+}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaTaxiView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaTaxiView.kt
index 1dae638eca..da4ea8e09d 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaTaxiView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/RomaTaxiView.kt
@@ -55,7 +55,7 @@ class RomaTaxiView @JvmOverloads constructor(
}
setOnClickListener {
- if (ClickUtils.isClickTooFrequent(this,1000)) {
+ if (ClickUtils.isClickTooFrequent(this,2500)) {
return@setOnClickListener
}
if(!click){
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/layer_roma_distance_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/layer_roma_distance_bg.xml
new file mode 100644
index 0000000000..06ba5c4b03
--- /dev/null
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/layer_roma_distance_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/roma_distance_bg.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/roma_distance_bg.png
new file mode 100644
index 0000000000..633e03243e
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/roma_distance_bg.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_distance.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_distance.xml
new file mode 100644
index 0000000000..621006cb4e
--- /dev/null
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_roma_distance.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml
index ff93b33d7e..a499467d91 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml
@@ -102,4 +102,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt
index 8a63e45178..cff26f0a4f 100644
--- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt
+++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/ai/AiCloudIdentifyDataManager.kt
@@ -55,7 +55,7 @@ class AiCloudIdentifyDataManager : IMoGoPlanningRottingListener,
private const val H_ERROR_MAP = 2
private const val H_DELAY_TIME = 3_000L
- var START_METRE = 3
+ var START_METRE = 200
var END_METRE = 2000
@JvmStatic
@@ -164,12 +164,14 @@ class AiCloudIdentifyDataManager : IMoGoPlanningRottingListener,
}
private fun openRoma() {
+ CallerMapUIServiceManager.getMapUIController()?.visualAngleLock(true)
updateLongSightLevel(true)
requestRangeOfIdentify(true)
}
@Synchronized
private fun closeRoma(manual: Boolean = true) {
+ CallerMapUIServiceManager.getMapUIController()?.visualAngleLock(false)
updateLongSightLevel(false)
requestRangeOfIdentify(false)
MapIdentifySubscriber.instance.clearAiCloudRoma()
@@ -260,11 +262,14 @@ class AiCloudIdentifyDataManager : IMoGoPlanningRottingListener,
mutableMapOf("romaStart" to "地图漫游动画结束,开始漫游")
)
showAiCloud.set(true)
- FunctionBuildConfig.isDrawIdentifyData = false
+// FunctionBuildConfig.isDrawIdentifyData = false
CallerMapRomaListener.invokeMapRoma(true)
// 5秒没有触发 则预警日志写入
handler.sendEmptyMessageDelayed(H_ERROR_CLOUD, H_DELAY_TIME)
}
+ 5 -> {
+ CallerMapRomaListener.invokeRomaDistance(msg)
+ }
1 -> {
val m = Message.obtain()
m.what = H_ERROR_MAP
@@ -296,7 +301,7 @@ class AiCloudIdentifyDataManager : IMoGoPlanningRottingListener,
showAiCloud.set(false)
aiCloudDataChange.set(false)
MapIdentifySubscriber.instance.clearAiCloudRoma()
- FunctionBuildConfig.isDrawIdentifyData = true
+// FunctionBuildConfig.isDrawIdentifyData = true
CallerMapRomaListener.invokeMapRoma(false)
if (invokeCloud) {
closeRoma(false)
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/roma/IMoGoRomaListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/roma/IMoGoRomaListener.kt
index 2754e7021c..a87065f809 100644
--- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/roma/IMoGoRomaListener.kt
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/roma/IMoGoRomaListener.kt
@@ -11,4 +11,9 @@ interface IMoGoRomaListener {
* 漫游状态回调
*/
fun romaStatus(status:Boolean){}
+
+ /**
+ * 漫游距自车的距离
+ */
+ fun romaDistance(distance:String){}
}
\ No newline at end of file
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapRomaListener.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapRomaListener.kt
index eba9a74557..06e194f6ac 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapRomaListener.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerMapRomaListener.kt
@@ -29,4 +29,12 @@ object CallerMapRomaListener : CallerBase() {
listener.romaStatus(romaStatus)
}
}
+
+ fun invokeRomaDistance(distance: String) {
+ M_LISTENERS.forEach {
+ val listener = it.value
+ listener.romaDistance(distance)
+ }
+ }
+
}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index fb6a5a8f96..e49b92deed 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -80,7 +80,7 @@ MOGO_LOCATION_VERSION=1.4.7.16
MOGO_TELEMATIC_VERSION=1.4.7.16
######## MogoAiCloudSDK Version ########
# 自研地图
-MAP_SDK_VERSION=2.14.3.7
+MAP_SDK_VERSION=2.14.3.9
MAP_SDK_OPERATION_VERSION=1.1.4.1
# websocket
WEBSOCKET_VERSION=1.1.7
diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java
index 806c12dd4b..05e423ca97 100644
--- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java
+++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java
@@ -59,6 +59,12 @@ public interface IMogoMapUIController {
*/
void changeMapVisualAngle(VisualAngleMode angelMode, MogoLatLng mogoLatLng);
+ /**
+ * 切换视角锁定,用于启动/关闭漫游
+ * @param lock 锁定值
+ */
+ void visualAngleLock(boolean lock);
+
/**
* 设置漫游路径
* @param trajectory
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java
index 925c9f1a6b..a978a4e03c 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java
@@ -123,6 +123,8 @@ public class AMapViewWrapper implements IMogoMapView,
private IHdCacheListener hdCacheListener;
+ private volatile boolean visualLock = false;
+
public AMapViewWrapper(MapAutoView mMapView) {
CallerLogger.i(M_MAP + TAG, "autoop--AMapViewWrapper: init");
this.mMapView = mMapView;
@@ -337,6 +339,10 @@ public class AMapViewWrapper implements IMogoMapView,
@Override
public void changeMapVisualAngle(VisualAngleMode angelMode, MogoLatLng mogoLatLng) {
+ if(visualLock){
+ CallerLogger.e(M_MAP + TAG, "视角切换已锁定");
+ return;
+ }
MapAutoViewHelper mapAutoViewHelper = mMapView.getMapAutoViewHelper();
if (mapAutoViewHelper != null) {
mVisualAngleMode = angelMode;
@@ -353,6 +359,11 @@ public class AMapViewWrapper implements IMogoMapView,
}
}
+ @Override
+ public void visualAngleLock(boolean lock) {
+ visualLock = lock;
+ }
+
@ChainLog(
linkChainLog = CHAIN_TYPE_HD_MAP,
linkCode = CHAIN_SOURCE_MAP,
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.java
index 6a5dfd35f4..5b045dd1e0 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.java
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.java
@@ -139,7 +139,7 @@ public class AMapWrapper implements IMogoMap {
}
long time = markerOptionsArrayList.get(0).getTime();
batchMarkerOptions.list = markerOptionsArrayList;
-// batchMarkerOptions.averageFlag = 0;
+ batchMarkerOptions.averageFlag = 0;
batchMarkerOptions.delayStrategy = false;
batchMarkerOptions.ruleAngle = 8.0f;
batchMarkerOptions.controlIcon = 1;
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java
index 7f68078bf7..622e74980d 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java
@@ -2,7 +2,6 @@ package com.mogo.map;
import android.graphics.Point;
import android.graphics.Rect;
-import android.location.Location;
import android.view.View;
import com.mogo.eagle.core.data.map.CenterLine;
@@ -93,6 +92,15 @@ public class MogoMapUIController implements IMogoMapUIController {
}
}
+ @Override
+ public void visualAngleLock(boolean lock) {
+ initDelegate();
+ if (mDelegate != null) {
+ CallerLogger.d(TAG, "visualAngleLock: " + lock);
+ mDelegate.visualAngleLock(lock);
+ }
+ }
+
@Override
public void setRoamTrajectory(String trajectory) {
initDelegate();
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java
index 7936a87a64..25cca46586 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java
@@ -77,6 +77,13 @@ public class AMapUIController implements IMogoMapUIController {
}
}
+ @Override
+ public void visualAngleLock(boolean lock) {
+ if (mClient != null) {
+ mClient.visualAngleLock(lock);
+ }
+ }
+
@Override
public void setRoamTrajectory(String trajectory) {
if (mClient != null) {