diff --git a/app/build.gradle b/app/build.gradle index 7c6106bd98..d2097403e7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -176,7 +176,7 @@ android { // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' // 是否需要实时上报坐标 - buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } // e系列,采用Launcher方案 e8xx { diff --git a/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java b/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java index 244a98d740..9aed264e16 100644 --- a/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java +++ b/foudations/httpdns-noop/src/main/java/com/mogo/httpdns/noop/HttpDnsNoop.java @@ -31,7 +31,9 @@ class HttpDnsNoop implements IMogoHttpDns { @Override public void getHttpDnsIp( String host, boolean useCache, IHttpDnsCallback callback ) { - + if ( callback != null ) { + callback.onParsed( null ); + } } @Override diff --git a/libraries/map-custom/build.gradle b/libraries/map-custom/build.gradle index 7e906108e9..986849f098 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-6.9' + implementation 'com.zhidaoauto.machine:map:1.0.0-vr-7.1.5' } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapMarkerClickHandler.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapMarkerClickHandler.java index 0b89685535..f2775c4894 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapMarkerClickHandler.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapMarkerClickHandler.java @@ -19,6 +19,30 @@ import java.util.Map; */ public class AMapMarkerClickHandler { + private static volatile AMapMarkerClickHandler sInstance; + + private AMapMarkerClickHandler(){} + + public static AMapMarkerClickHandler getInstance(){ + if( sInstance == null ){ + synchronized( AMapMarkerClickHandler.class ) { + if( sInstance == null ){ + sInstance = new AMapMarkerClickHandler(); + } + } + } + return sInstance; + } + + public synchronized void release(){ + sInstance = null; + } + + private Object readResolve() { + // 阻止反序列化,必须实现 Serializable 接口 + return sInstance; + } + public boolean handleMarkerClicked( Marker marker ) { if ( marker == null ) { return false; 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 41f0249cea..5a903d4115 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 @@ -25,9 +25,9 @@ import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; +import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; import com.zhidaoauto.map.sdk.open.MapAutoApi; -import com.zhidaoauto.map.sdk.open.MapParams; import com.zhidaoauto.map.sdk.open.abs.MapStatusListener; import com.zhidaoauto.map.sdk.open.abs.OnCameraChangeListener; import com.zhidaoauto.map.sdk.open.abs.OnMapClickListener; @@ -82,6 +82,7 @@ public class AMapViewWrapper implements IMogoMapView, private CarCursorOption mCarCursorOption = DEFAULT_OPTION; private Location mLastDriveLocationShadow = null; + private EnumMapUI mCurrentUI; public AMapViewWrapper( MapAutoView mMapView ) { startTime = System.currentTimeMillis(); @@ -161,7 +162,7 @@ public class AMapViewWrapper implements IMogoMapView, private void initListeners() { mMapView.setOnMarkClickListener( this ); - mMarkerClickHandler = new AMapMarkerClickHandler(); + mMarkerClickHandler = AMapMarkerClickHandler.getInstance(); mMapView.setOnMapLoadedListener( this ); mMapView.setOnMapTouchListener( this ); mMapView.setOnMapClickListener( this ); @@ -171,6 +172,7 @@ public class AMapViewWrapper implements IMogoMapView, mMapView.registerListener( this, MapAutoApi.LISTENER_TYPE_3D ); mMapView.setMOnCameraChangeListener( this ); mMapView.setOnMapStyleListener( this ); + Logger.d( TAG, "styleop - initListeners - setOnMapStyleListener - view %s", mMapView ); // mMapView.setOnPolylineClickListener( this ); // mMapView.setAMapNaviViewListener( this ); @@ -249,7 +251,7 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void setTrafficEnabled( boolean visible ) { if ( checkAMapView() ) { - mMapView.getMapAutoViewHelper().setTraffic( visible ); +// mMapView.getMapAutoViewHelper().setTraffic( visible ); } } @@ -257,7 +259,6 @@ public class AMapViewWrapper implements IMogoMapView, public MapControlResult changeZoom( boolean zoom ) { if ( checkAMapView() ) { mDefaultZoomLevel = ( getMap().getZoomLevel() + 0.5f ); - if ( zoom ) { if ( mDefaultZoomLevel >= 20f ) { return MapControlResult.TARGET; @@ -290,7 +291,9 @@ public class AMapViewWrapper implements IMogoMapView, if ( DebugConfig.isDebug() ) { Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); } - + if ( mCurrentUI == EnumMapUI.Type_VR ) { + return MapControlResult.ERROR; + } getMap().changeZoom( zoom ); return MapControlResult.SUCCESS; } @@ -305,6 +308,7 @@ public class AMapViewWrapper implements IMogoMapView, case CarUp_2D: case CarUp_3D: case NorthUP_2D: + setUIMode( ui ); break; case Type_VR: mMapView.getMapAutoViewHelper().setMapStyle( MapAutoApi.MAP_STYLE_VR ); @@ -762,8 +766,27 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void onChangeMapStyle( int i ) { - if ( i == MapParams.MAP_STYLE_VR ) { - MogoMapListenerHandler.getInstance().onMapModeChanged( EnumMapUI.Type_VR ); + if ( i == MapAutoApi.MAP_STYLE_DAY + || i == MapAutoApi.MAP_STYLE_DAY_NAV ) { + mCurrentUI = EnumMapUI.Type_Light; + } else if ( i == MapAutoApi.MAP_STYLE_NIGHT + || i == MapAutoApi.MAP_STYLE_NIGHT_NAV ) { + mCurrentUI = EnumMapUI.Type_Night; + } else if ( i == MapAutoApi.MAP_STYLE_VR ) { + mCurrentUI = EnumMapUI.Type_VR; + } else if ( i == MapAutoApi.MAP_PERSPECTIVE_2D ) { + mCurrentUI = EnumMapUI.CarUp_2D; + } else if ( i == MapAutoApi.MAP_PERSPECTIVE_3D ) { + mCurrentUI = EnumMapUI.CarUp_3D; + } + if ( mCurrentUI != null ) { + UiThreadHandler.post( () -> { + try { + MogoMapListenerHandler.getInstance().onMapModeChanged( mCurrentUI ); + } catch ( Exception e ) { + e.printStackTrace(); + } + } ); } } } 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 e6c9a8d05d..1081ea35b3 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 @@ -91,7 +91,7 @@ class CustomMapApiBuilder implements IMogoMapApiBuilder { @Override public IMogoMapView getMapView( Context context ) { NavAutoApi.INSTANCE.init( context, MapParams.Companion.init() - .setDebugMode( false ) + .setDebugMode( true ) .setCoordinateType( MapParams.COORDINATETYPE_GCJ02 ) .setPerspectiveMode( MapParams.MAP_PERSPECTIVE_2D ) .setZoom( 16 ) diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapInfoWindowAdapter.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapInfoWindowAdapter.java index 1e06b9ddbb..78150eabb5 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapInfoWindowAdapter.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapInfoWindowAdapter.java @@ -2,32 +2,44 @@ package com.mogo.map.impl.custom.marker; import android.view.View; +import com.mogo.map.impl.custom.AMapMarkerClickHandler; import com.mogo.map.marker.IMogoInfoWindowAdapter; import com.mogo.map.marker.IMogoMarker; import com.zhidaoauto.map.sdk.open.abs.marker.InfoWindowAdapter; import com.zhidaoauto.map.sdk.open.marker.Marker; +import com.zhidaoauto.map.sdk.open.marker.OnInfoWindowClickListener; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.io.FileInputStream; + /** * @author congtaowang * @since 2019-12-24 *

* 自定义infowindow */ -public final class AMapInfoWindowAdapter implements InfoWindowAdapter { +public final class AMapInfoWindowAdapter implements InfoWindowAdapter, OnInfoWindowClickListener { public View getInfoWindow( Marker marker ) { if ( marker.getMObject() instanceof IMogoMarker ) { IMogoMarker mogoMarker = ( ( IMogoMarker ) marker.getMObject() ); IMogoInfoWindowAdapter delegate = mogoMarker.getInfoWindowAdapter(); if ( delegate != null ) { - return delegate.getInfoWindow( mogoMarker ); + final View infoView = delegate.getInfoWindow( mogoMarker ); + marker.setOnInfoWindowClickListener( this ); + return infoView; } } return null; } + @Override + public void onInfoWindowClick( @NotNull Marker marker ) { + AMapMarkerClickHandler.getInstance().handleMarkerClicked( marker ); + } + @Nullable @Override public View getInfoContents(@Nullable Marker marker) { diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/ObjectUtils.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/ObjectUtils.java index c950276731..1852c8c8ea 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/ObjectUtils.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/ObjectUtils.java @@ -77,7 +77,6 @@ public class ObjectUtils { // .icons( descriptors ) // .period( opt.getPeriod() ) .rotateAngle( opt.getRotate() ) - .marker3DIcon( opt.getIcon3DRes() ) .setFlat( opt.isFlat() ) .visible( opt.isVisible() ) .infoWindowEnable( opt.isInifoWindowEnable() ) @@ -86,6 +85,9 @@ public class ObjectUtils { // .draggable( opt.isDraggable() ) .setInfoWindowOffset( opt.getOffsetX(), opt.getOffsetY() ) .zIndex( opt.getzIndex() ); + if ( opt.getIcon3DRes() != 0 ) { + markerOptions.marker3DIcon( opt.getIcon3DRes() ); + } if ( !TextUtils.isEmpty( opt.getTitle() ) ) { markerOptions.title( opt.getTitle() ); } @@ -699,7 +701,7 @@ public class ObjectUtils { target.setLonLatPoints( points ); } target.setLineWidth( options.getWidth() ); - target.setColor( options.getColor()); + target.setColor( options.getColor() ); // target.zIndex( options.getWidth() ); // target.visible( options.isVisible() ); //// target.geodesic( options.isGeodesic() ); diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/MarkerDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/MarkerDrawer.java index 8fea64910c..0f687f677f 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/MarkerDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/MarkerDrawer.java @@ -60,10 +60,14 @@ class MarkerDrawer { } public IMogoMarker drawMapMarkerImpl( MarkerShowEntity markerShowEntity, int zIndex, IMogoMarkerClickListener listener ) { + return drawMapMarkerImpl(markerShowEntity, zIndex, 0, listener); + } + + public IMogoMarker drawMapMarkerImpl( MarkerShowEntity markerShowEntity, int zIndex, int icon3DRes, IMogoMarkerClickListener listener ) { if ( markerShowEntity == null || markerShowEntity.getMarkerLocation() == null ) { return null; } - MogoMarkerOptions options = new MogoMarkerOptions().owner( markerShowEntity.getMarkerType() ).zIndex( zIndex ).object( markerShowEntity ).latitude( markerShowEntity.getMarkerLocation().getLat() ).longitude( markerShowEntity.getMarkerLocation().getLon() ); + MogoMarkerOptions options = new MogoMarkerOptions().icon3DRes( icon3DRes ).owner( markerShowEntity.getMarkerType() ).zIndex( zIndex ).object( markerShowEntity ).latitude( markerShowEntity.getMarkerLocation().getLat() ).longitude( markerShowEntity.getMarkerLocation().getLon() ); IMarkerView markerView = MapMarkerAdapter.getMarkerView( AbsMogoApplication.getApp(), markerShowEntity, options ); if ( markerView instanceof OnlineCarMarkerView ) { try { diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/OnlineCarDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/OnlineCarDrawer.java index 5829eee710..621692464e 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/OnlineCarDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/OnlineCarDrawer.java @@ -8,6 +8,7 @@ import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.module.common.ModuleNames; import com.mogo.module.common.MogoApisHandler; +import com.mogo.module.common.R; import com.mogo.module.common.entity.MarkerCarPois; import com.mogo.module.common.entity.MarkerLocation; import com.mogo.module.common.entity.MarkerOnlineCar; @@ -104,7 +105,7 @@ class OnlineCarDrawer { String sn = MarkerDrawer.getInstance().getPrimaryKeyFromEntity( markerOnlineCar ); IMogoMarker mogoMarker = existCarMap.get( sn ); if ( mogoMarker == null || mogoMarker.isDestroyed() ) { - mogoMarker = MarkerDrawer.getInstance().drawMapMarkerImpl( markerShowEntity, MarkerDrawer.MARKER_Z_INDEX_LOW, listener ); + mogoMarker = MarkerDrawer.getInstance().drawMapMarkerImpl( markerShowEntity, MarkerDrawer.MARKER_Z_INDEX_LOW, R.raw.taxi, listener ); } if ( mogoMarker != null ) { mogoMarker.setVisible( true ); diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/RoadConditionDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/RoadConditionDrawer.java index 8fa79aaf08..fde64b7020 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/RoadConditionDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/RoadConditionDrawer.java @@ -9,6 +9,7 @@ import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.anim.OnMarkerAnimationListener; import com.mogo.module.common.ModuleNames; import com.mogo.module.common.MogoApisHandler; +import com.mogo.module.common.drawer.marker.RoadConditionInfoWindow3DAdapter; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerLocation; import com.mogo.module.common.entity.MarkerShowEntity; @@ -84,10 +85,16 @@ class RoadConditionDrawer { if ( mogoMarker == null || mogoMarker.isDestroyed() ) { Logger.d( TAG, "draw road condition, sn = %s", sn ); try { - if ( DebugConfig.isRoadEventAnimated() ) { - post2AddAndStartAnimation( markerShowEntity, i * 100L, listener ); - } else { + if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { mogoMarker = MarkerDrawer.getInstance().drawMapMarkerImpl( markerShowEntity, MarkerDrawer.MARKER_Z_INDEX_HIGH, listener ); + mogoMarker.setInfoWindowAdapter( new RoadConditionInfoWindow3DAdapter( markerShowEntity, AbsMogoApplication.getApp(), mogoMarker.getMogoMarkerOptions() ) ); + mogoMarker.showInfoWindow(); + } else { + if ( DebugConfig.isRoadEventAnimated() ) { + post2AddAndStartAnimation( markerShowEntity, i * 100L, listener ); + } else { + mogoMarker = MarkerDrawer.getInstance().drawMapMarkerImpl( markerShowEntity, MarkerDrawer.MARKER_Z_INDEX_HIGH, listener ); + } } } catch ( Exception e ) { e.printStackTrace(); diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/EmptyMarkerView.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/EmptyMarkerView.java new file mode 100644 index 0000000000..be4771ae5a --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/EmptyMarkerView.java @@ -0,0 +1,46 @@ +package com.mogo.module.common.drawer.marker; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.View; + +import androidx.annotation.Nullable; + +import com.mogo.map.marker.IMogoMarker; + +public +/** + * @author congtaowang + * @since 2020/12/16 + * + * 描述 + */ +class EmptyMarkerView extends View implements IMarkerView { + + public EmptyMarkerView( Context context ) { + this( context, null ); + } + + public EmptyMarkerView( Context context, @Nullable AttributeSet attrs ) { + this( context, attrs, 0 ); + } + + public EmptyMarkerView( Context context, @Nullable AttributeSet attrs, int defStyleAttr ) { + super( context, attrs, defStyleAttr ); + } + + @Override + public View getView() { + return this; + } + + @Override + public void setMarker( IMogoMarker marker ) { + + } + + @Override + protected void onMeasure( int widthMeasureSpec, int heightMeasureSpec ) { + setMeasuredDimension( 1, 1 ); + } +} diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerAdapter.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerAdapter.java index 94d682ca4a..8a130a1f59 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerAdapter.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerAdapter.java @@ -5,6 +5,7 @@ import android.text.TextUtils; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.ModuleNames; +import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.entity.MarkerShowEntity; /** @@ -23,17 +24,36 @@ public class MapMarkerAdapter { * @param markerShowEntity 要填充的数据 * @return MarkerView */ - public static IMarkerView getMarkerView(Context context, MarkerShowEntity markerShowEntity, MogoMarkerOptions options) { + public static IMarkerView getMarkerView( Context context, MarkerShowEntity markerShowEntity, MogoMarkerOptions options ) { if ( TextUtils.equals( markerShowEntity.getMarkerType(), ModuleNames.CARD_TYPE_USER_DATA ) ) { return OnlineCarMarkerView.getInstance(); } else { - if (markerShowEntity.isChecked()) { - return new MapMarkerInfoView(context, markerShowEntity, options); + if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + return new EmptyMarkerView( context ); } else { - return new MapMarkerView(context, markerShowEntity, options); + if ( markerShowEntity.isChecked() ) { + return new MapMarkerInfoView( context, markerShowEntity, options ); + } else { + return new MapMarkerView( context, markerShowEntity, options ); + } } } } + + /** + * 获取 MarkerShowEntity 填充好的 MarkerView + * + * @param context 上下文 + * @param markerShowEntity 要填充的数据 + * @return MarkerView + */ + public static IMarkerView getMarkerInfoWindowView( Context context, MarkerShowEntity markerShowEntity, MogoMarkerOptions options ) { + if ( markerShowEntity.isChecked() ) { + return new MapMarkerInfoView( context, markerShowEntity, options ); + } else { + return new MapMarkerView( context, markerShowEntity, options ); + } + } } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerInfoView.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerInfoView.java index 404ded1d88..9ded911563 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerInfoView.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/MapMarkerInfoView.java @@ -13,6 +13,7 @@ import androidx.constraintlayout.widget.ConstraintLayout; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.ModuleNames; +import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerShareMusic; import com.mogo.module.common.entity.MarkerShowEntity; @@ -71,7 +72,11 @@ public class MapMarkerInfoView extends MapMarkerBaseView { Object bindObj = markerShowEntity.getBindObj(); - ivCar.setImageResource( R.drawable.icon_map_marker_location_yellow ); + if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + ivCar.setImageResource( R.drawable.icon_map_marker_location_yellow_vr ); + } else { + ivCar.setImageResource( R.drawable.icon_map_marker_location_yellow ); + } clMarkerContent.setBackgroundResource( R.drawable.bg_map_marker_yellow_info ); ivReverseTriangle.setImageResource( R.drawable.bg_shape_reverse_yellow ); switch ( markerShowEntity.getMarkerType() ) { diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/RoadConditionInfoWindow3DAdapter.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/RoadConditionInfoWindow3DAdapter.java new file mode 100644 index 0000000000..063be888e7 --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/RoadConditionInfoWindow3DAdapter.java @@ -0,0 +1,37 @@ +package com.mogo.module.common.drawer.marker; + +import android.content.Context; +import android.view.View; + +import com.mogo.map.marker.IMogoInfoWindowAdapter; +import com.mogo.map.marker.IMogoMarker; +import com.mogo.map.marker.MogoMarkerOptions; +import com.mogo.module.common.entity.MarkerShowEntity; + +public +/** + * @author congtaowang + * @since 2020/12/15 + * + * 描述 + */ +class RoadConditionInfoWindow3DAdapter implements IMogoInfoWindowAdapter { + + private MarkerShowEntity mEntity; + private Context mContext; + private MogoMarkerOptions mOptions; + + public RoadConditionInfoWindow3DAdapter( MarkerShowEntity entity, + Context context, + MogoMarkerOptions options ) { + this.mEntity = entity; + this.mContext = context; + this.mOptions = options; + } + + @Override + public View getInfoWindow( IMogoMarker marker ) { + IMarkerView creator = MapMarkerAdapter.getMarkerInfoWindowView( mContext, mEntity, mOptions ); + return creator.getView(); + } +} diff --git a/modules/mogo-module-common/src/main/res/raw/taxi.n3d b/modules/mogo-module-common/src/main/res/raw/taxi.n3d new file mode 100644 index 0000000000..8352a248bc Binary files /dev/null and b/modules/mogo-module-common/src/main/res/raw/taxi.n3d differ diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index a6db2c98b9..4da4fe8182 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -432,17 +432,13 @@ public class EntranceFragment extends MvpFragment{ // 进入vr模式 - enterVrMode(); - mApis.getStatusManagerApi().setVrMode(TAG, true); -// mApis.getMapFrameControllerApi().changeToVRMode(); + mMApUIController.changeMapMode( EnumMapUI.Type_VR ); }); tvExitVrMode = findViewById(R.id.module_ext_exit_vr_mode); tvExitVrMode.setOnClickListener((v)->{ // 退出vr模式 - exitVrMode(); - mApis.getStatusManagerApi().setVrMode(TAG, false); -// mApis.getMapFrameControllerApi().changeTo2dMode(); + mMApUIController.changeMapMode( EnumMapUI.CarUp_2D ); }); dealWeatherContainer(); @@ -497,8 +493,6 @@ public class EntranceFragment extends MvpFragment