diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index bc98d7bbf5..bd525599dc 100644 --- a/libraries/map-custom/build.gradle +++ b/libraries/map-custom/build.gradle @@ -67,7 +67,7 @@ dependencies { implementation project(':foudations:mogo-commons') } - implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.7' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.5.1' // implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.4.5-log-1' } diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java index 4e9a9a7885..2dd9320480 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java @@ -95,8 +95,6 @@ class CustomMapApiBuilder implements IMogoMapApiBuilder { .setDebugMode( true ) .setCoordinateType( MapParams.COORDINATETYPE_GCJ02 ) .setPerspectiveMode( MapParams.MAP_PERSPECTIVE_2D ) - .setStyleDir( "sdcard/shmdata_asset/mogo_style" ) - .setCachePath( "sdcard/tiles" ) .setZoom( 16 ) .setPointToCenter( 0.734375f, 0.5f ) .setStyleMode( MapParams.MAP_STYLE_NIGHT ), NavParams.Companion.init() ); diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index 000b8ddc32..c3e9f0b981 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -92,6 +92,7 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager( AbsMogoApplication.getApp() ).removeMarkers( DataTypes.TYPE_MARKER_CLOUD_DATA ); return; } + filterData( data.getAllList() ); List< CloudRoadData > allDatumsList = new ArrayList<>(); allDatumsList.addAll( data.getAllList() ); // allDatumsList.addAll( data.getNearList() ); @@ -158,7 +159,7 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen List< MogoLatLng > points = new ArrayList<>(); points.add( new MogoLatLng( lastPosition.lat, lastPosition.lon ) ); points.add( new MogoLatLng( target.lat, target.lon ) ); - marker.startSmoothInMs( points, 500L ); + marker.startSmoothInMs( points, SystemClock.elapsedRealtime() - mLastReceiveTime ); } } else { marker.setRotateAngle( 360 - ( float ) cloudRoadData.getHeading() ); @@ -170,6 +171,29 @@ class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClickListen } } + /** + * vr 模式下显示合并数据,否则只显示上报位置的车辆 + * + * @param dataList + */ + private void filterData( List< CloudRoadData > dataList ) { + if ( dataList == null || dataList.isEmpty() ) { + return; + } + if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + return; + } + List< CloudRoadData > newList = new ArrayList<>(); + for ( CloudRoadData cloudRoadData : dataList ) { + if ( cloudRoadData.getFromType() != CloudRoadData.FROM_MY_LOCATION ) { + continue; + } + newList.add( cloudRoadData ); + } + dataList.clear(); + dataList.addAll( newList ); + } + private void bindClickListener( IMogoMarker marker ) { if ( marker == null || marker.isDestroyed() ) { return; diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 25460261f1..bcfe822ff2 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -555,6 +555,8 @@ public class MogoServices implements IMogoMapListener, MapMarkerManager.getInstance().syncLocation( latLng.lon, latLng.lat ); + Logger.d( TAG, "zoom = %s", zoom ); + if ( mIsCameraInited ) { mLastZoomLevel = zoom; mLastCustomRefreshCenterLocation = latLng; diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index 85c98e6ad5..f82bf29011 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -57,6 +57,7 @@ import java.util.List; import java.util.Map; import io.reactivex.schedulers.Schedulers; + import java.util.concurrent.CopyOnWriteArrayList; import static com.mogo.module.common.utils.SPConst.getSpGuide; @@ -85,7 +86,7 @@ public class MogoADASController implements IMogoADASController { private IMogoStatusManager mStatusManager = SingletonsHolder.get( IMogoStatusManager.class ); private boolean mIsReleased = true; - private List adasDataCallbackList = new ArrayList<>(); + private List< IMogoAdasDataCallback > adasDataCallbackList = new ArrayList<>(); private IAutopolitDataCallBack mAutopolitDataCallBack; @@ -113,6 +114,10 @@ public class MogoADASController implements IMogoADASController { // 物体识别返回 // Logger.d( TAG, "onRectData = %s", rectInfo.toString() ); mLastFrameData = rectInfo; + // 仅在 vr 模式下显示 adas 识别车辆 + if ( !MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + return; + } handleAdasRecognizedData( rectInfo ); } @@ -210,7 +215,7 @@ public class MogoADASController implements IMogoADASController { @Override public void showADAS() { - if( DebugConfig.isNeedLoadGuideModule() ){ + if ( DebugConfig.isNeedLoadGuideModule() ) { if ( !SharedPrefsMgr.getInstance( AbsMogoApplication.getApp() ).getBoolean( getSpGuide(), false ) ) { return; } @@ -272,13 +277,13 @@ public class MogoADASController implements IMogoADASController { @Override public void requestGetCarModelListInfo() { - if (DebugConfig.isMapBased()) { - Logger.d(TAG, "requestGetCarModelListInfo"); + if ( DebugConfig.isMapBased() ) { + Logger.d( TAG, "requestGetCarModelListInfo" ); // 向adas发送车模list - String carModelList = SharedPrefsMgr.getInstance(context).getString( - "CAR_MODEL_LIST", ""); - if (carModelList != null && !carModelList.isEmpty()) { - AutopilotServiceManage.getInstance().settingCarModelListInfo(carModelList); + String carModelList = SharedPrefsMgr.getInstance( context ).getString( + "CAR_MODEL_LIST", "" ); + if ( carModelList != null && !carModelList.isEmpty() ) { + AutopilotServiceManage.getInstance().settingCarModelListInfo( carModelList ); } // 此处进行网络请求,请求成功后再通知一次adas requestCarModelList(); @@ -368,6 +373,7 @@ public class MogoADASController implements IMogoADASController { } private Context context; + @Override public void init( Context context ) { AutopilotServiceManage.getInstance().init( context ); @@ -464,40 +470,40 @@ public class MogoADASController implements IMogoADASController { private String currentSn = TEST_SN; private void requestCarModelList() { - Map params = new HashMap<>(8); - params.put("sn", Utils.getSn()); + Map< String, String > params = new HashMap<>( 8 ); + params.put( "sn", Utils.getSn() ); // currentSn = useTestSn ? TEST_SN : Utils.getSn(); // params.put("sn", currentSn); - MogoApisHandler.getInstance().getApis().getNetworkApi().create(CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl()). - requestCarModelList(params). - subscribeOn(Schedulers.io()). - observeOn(Schedulers.io()). - subscribe(new SubscribeImpl(RequestOptions.create(context)) { + MogoApisHandler.getInstance().getApis().getNetworkApi().create( CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl() ). + requestCarModelList( params ). + subscribeOn( Schedulers.io() ). + observeOn( Schedulers.io() ). + subscribe( new SubscribeImpl< CarModelListResponse >( RequestOptions.create( context ) ) { @Override - public void onSuccess(CarModelListResponse o) { - super.onSuccess(o); - Logger.d(TAG, "请求车模列表成功: " + o); + public void onSuccess( CarModelListResponse o ) { + super.onSuccess( o ); + Logger.d( TAG, "请求车模列表成功: " + o ); // 保存到sp中 - String value = GsonUtil.jsonFromObject(o.getResult()); - SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST", - value); - if(value != null && !value.isEmpty()){ - AutopilotServiceManage.getInstance().settingCarModelListInfo(value); + String value = GsonUtil.jsonFromObject( o.getResult() ); + SharedPrefsMgr.getInstance( context ).putString( "CAR_MODEL_LIST", + value ); + if ( value != null && !value.isEmpty() ) { + AutopilotServiceManage.getInstance().settingCarModelListInfo( value ); } } @Override - public void onError(Throwable e) { - super.onError(e); - Logger.e(TAG, e, "请求自车模型失败"); + public void onError( Throwable e ) { + super.onError( e ); + Logger.e( TAG, e, "请求自车模型失败" ); } @Override - public void onError(String message, int code) { - super.onError(message, code); - Logger.e(TAG, "请求自车模型失败: " + message); + public void onError( String message, int code ) { + super.onError( message, code ); + Logger.e( TAG, "请求自车模型失败: " + message ); } - }); + } ); }