diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java
index 48884d48e5..d6cefd890a 100644
--- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java
+++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java
@@ -423,9 +423,6 @@ public class AMapViewWrapper implements IMogoMapView,
@Override
public void moveToCenter(MogoLatLng latLng, boolean animate) {
- if (mCurrentUI == EnumMapUI.Type_VR) {
- return;
- }
Logger.d(TAG, "move to center %s", latLng);
if (latLng == null || latLng.lat == 0.0d || latLng.lng == 0.0d) {
Logger.e(TAG, "latlng = null or is illegal");
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_switch_map_angle.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_switch_map_angle.png
new file mode 100644
index 0000000000..3e1b96f3e3
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_switch_map_angle.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_switch_map_angle.png b/modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_switch_map_angle.png
new file mode 100644
index 0000000000..3e1b96f3e3
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_switch_map_angle.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi-1920x1000/module_switch_map_angle.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi-1920x1000/module_switch_map_angle.png
new file mode 100644
index 0000000000..3e1b96f3e3
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi-1920x1000/module_switch_map_angle.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_switch_map_angle.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_switch_map_angle.png
new file mode 100644
index 0000000000..3e1b96f3e3
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_switch_map_angle.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_switch_map_bg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_switch_map_bg.xml
new file mode 100644
index 0000000000..0b1b92b69c
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/res/drawable/module_switch_map_bg.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
index 32ac090144..7d4328956a 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml
@@ -48,13 +48,14 @@
@@ -62,8 +63,8 @@
android:id="@+id/module_switch_model_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/module_ext_display_overview_icon_marginTop"
- android:src="@drawable/model_ext_default_user_head" />
+ android:layout_gravity="center"
+ android:src="@drawable/module_switch_map_angle" />
#DB3137
#3E77F6
+ #3B4577
\ No newline at end of file
diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt
index 8245a45bf3..4fb9c33120 100644
--- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt
+++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt
@@ -15,6 +15,7 @@ import com.mogo.map.marker.IMogoMarker
import com.mogo.map.marker.IMogoMarkerClickListener
import com.mogo.map.marker.MogoMarkerOptions
import com.mogo.map.search.geo.MogoPoiItem
+import com.mogo.module.common.MogoApisHandler
import com.mogo.module.common.map.MapCenterPointStrategy
import com.mogo.module.common.map.Scene
import com.mogo.module.common.utils.CarSeries
@@ -188,7 +189,7 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa
current.setToTop()
arrayList[mAdapter.lastPosition].icon(getMarkerIcon(mAdapter.lastPosition))
arrayList[mAdapter.current].icon(getMarkerIcon(mAdapter.current))
- if (moveToCenter) {
+ if (moveToCenter && !MogoApisHandler.getInstance().apis.statusManagerApi.isVrMode) {
SearchApisHolder.getStatusManager().setUserInteractionStatus(TAG, true, false)
SearchApisHolder.getUiControllerApis().moveToCenter(current.position, CarSeries.isF8xxSeries())
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java
index ed640f042e..4374b23b9f 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/MockIntentHandler.java
@@ -338,7 +338,9 @@ public class MockIntentHandler implements IntentHandler {
MarkerServiceHandler.getApis().getRefreshStrategyControllerApi().restartAutoRefreshAtTime(duration);
IMogoMarker marker = MarkerServiceHandler.getMarkerManager().addMarker(TAG, options);
MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus(TAG, true, false);
- MarkerServiceHandler.getMapUIController().moveToCenter(mogoLatLngs.get(0));
+ if(!MarkerServiceHandler.getApis().getStatusManagerApi().isVrMode()){
+ MarkerServiceHandler.getMapUIController().moveToCenter(mogoLatLngs.get(0));
+ }
WorkThreadHandler.getInstance().post(() -> marker.startSmooth(mogoLatLngs, duration));
break;
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/OnlineCarSearchIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/OnlineCarSearchIntentHandler.java
index 6659075585..e9255fac1f 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/OnlineCarSearchIntentHandler.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/OnlineCarSearchIntentHandler.java
@@ -170,7 +170,9 @@ class OnlineCarSearchIntentHandler implements IntentHandler {
int radius ) {
MarkerServiceHandler.getApis().getRefreshStrategyControllerApi().restartAutoRefreshAtTime( 30_000 );
MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus( TAG, true, false );
- MarkerServiceHandler.getMapUIController().moveToCenter( target );
+ if(!MarkerServiceHandler.getApis().getStatusManagerApi().isVrMode()){
+ MarkerServiceHandler.getMapUIController().moveToCenter( target );
+ }
MapMarkerManager.getInstance().getOnlineCarDataByVoiceControl(
target,
onlyFocus,
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/TanluManager.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/TanluManager.java
index e88a3a9680..329a0f76a1 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/TanluManager.java
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/TanluManager.java
@@ -498,7 +498,9 @@ public class TanluManager implements IMogoMarkerClickListener,
Logger.d(TAG, "moveToMarcker lat = " + lat + " >>>>lon = " + lon);
MogoLatLng latLng = new MogoLatLng(lat, lon);
mMogoStatusManager.setUserInteractionStatus(TAG, true, false);
- mMApUIController.moveToCenter(latLng);
+ if(!mMogoStatusManager.isVrMode()){
+ mMApUIController.moveToCenter(latLng);
+ }
}
private void moveNotFresh() {
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/livecar/V2XVoiceCallLiveBiz.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/livecar/V2XVoiceCallLiveBiz.java
index 6fa7ab80fa..ae3b8ff515 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/livecar/V2XVoiceCallLiveBiz.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/livecar/V2XVoiceCallLiveBiz.java
@@ -13,6 +13,7 @@ import com.mogo.commons.voice.AIAssist;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
+import com.mogo.map.uicontroller.VisualAngleMode;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
@@ -85,9 +86,22 @@ public class V2XVoiceCallLiveBiz implements IMogoMarkerClickListener{
MogoApisHandler.getInstance().getApis().getRegisterCenterApi().registerMogoStaticMarkerClickListener(MAP_STATIC, this);
}
+ /**
+ * 地图上静态marker点击,现在仅点击摄像头
+ * @param marker
+ * @return
+ */
@Override
public boolean onStaticMarkerClicked(IMogoMarker marker) {
Log.d(REGISTER_LIFECYCLE_TAG,"onStaticMarkerClicked marker");
+ if(V2XServiceManager.getMapService().getMapUIController().getCurrentMapVisualAngle().isLongSight()){
+ Log.d(REGISTER_LIFECYCLE_TAG,"onStaticMarkerClicked marker is on LongSight, so don't response");
+ return false;
+ }
+ //拉近地图视角为近景
+ V2XServiceManager.getMapService().getMapUIController().changeMapVisualAngle(VisualAngleMode.MODE_CLOSE_SIGHT);
+ //移动地图中心点至marker位置
+ V2XServiceManager.getMapService().getMapUIController().moveToCenter(marker.getPosition(),true);
String assInfo = marker.getMarkerAssInfo();
Log.d(REGISTER_LIFECYCLE_TAG,"onStaticMarkerClicked marker assInfo : " + assInfo);
if (TextUtils.isEmpty(assInfo) || !assInfo.contains(MAP_STATIC_TRAFFIC)) {
@@ -161,6 +175,10 @@ public class V2XVoiceCallLiveBiz implements IMogoMarkerClickListener{
});
}
+ /**
+ * 获取特定路口摄像头直播
+ * @param assInfo 路口摄像头Id
+ */
private void getSpecifiedOpenCameraLive(String assInfo) {
MoGoAiCloudTrafficLive.viewDesignativeIntersectionLive(assInfo, new ITrafficIntersectionLiveCallBack() {
@Override