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-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