[Update]Map按照新架构重构

This commit is contained in:
chenfufeng
2022-03-16 17:50:57 +08:00
parent 95c7251b54
commit 989f59678d
111 changed files with 5552 additions and 524 deletions

View File

@@ -6,16 +6,14 @@ import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.drawer.MarkerDrawer;
import com.mogo.module.common.entity.MarkerResponse;
import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.marker.MapMarkerManager;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.cloud.socket.IMogoSocketManager;
import com.mogo.service.datamanager.IMogoDataManager;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.intent.IMogoIntentManager;
import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoActionManager;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.statusmanager.IMogoStatusManager;
@@ -31,9 +29,7 @@ public class MarkerServiceHandler {
private static final String TAG = "MarkerServiceHandler";
private static IMogoServiceApis sApis;
private static IMogoMapService sMapService;
private static IMogoMarkerManager sMarkerManager;
private static IMogoMapUIController sMapUIController;
private static IMogoStatusManager sMogoStatusManager;
private static IMogoAnalytics sMogoAnalytics;
private static IMogoRegisterCenter sRegisterCenter;
@@ -44,11 +40,8 @@ public class MarkerServiceHandler {
public static synchronized void init(final Context context) {
sApis = MogoApisHandler.getInstance().getApis();
sMapService = sApis.getMapServiceApi();
sMogoStatusManager = sApis.getStatusManagerApi();
sMogoAnalytics = sApis.getAnalyticsApi();
sMarkerManager = sMapService.getMarkerManager(context);
sMapUIController = sMapService.getMapUIController();
sRegisterCenter = sApis.getRegisterCenterApi();
sActionManager = sApis.getActionManagerApi();
sDataManager = sApis.getDataManagerApi();
@@ -61,18 +54,6 @@ public class MarkerServiceHandler {
return sApis;
}
public static IMogoMapService getMapService() {
return sMapService;
}
public static IMogoMarkerManager getMarkerManager() {
return sMarkerManager;
}
public static IMogoMapUIController getMapUIController() {
return sMapUIController;
}
public static IMogoStatusManager getMogoStatusManager() {
return sMogoStatusManager;
}
@@ -81,10 +62,6 @@ public class MarkerServiceHandler {
return sMogoAnalytics;
}
public static MapMarkerManager getMapMarkerManager() {
return MapMarkerManager.getInstance();
}
public static IMogoRegisterCenter getRegisterCenter() {
return sRegisterCenter;
}
@@ -104,36 +81,4 @@ public class MarkerServiceHandler {
public static IMogoDataManager getDataManager() {
return sDataManager;
}
//TODO -------------以下方法是临时过度使用的后面统一使用getMapMarkerManager进行调用
/**
* 绘制Marker
* 建议使用
*
* @see MapMarkerManager#drawMapMarker(MarkerResponse)
*/
@Deprecated
public static void drawMapMarker(MarkerResponse response) {
getMapMarkerManager().drawMapMarker(response);
}
/**
* 绘制Marker
* 建议使用
*
* @see MapMarkerManager#drawMapMarker(MarkerShowEntity, int)
*/
@Deprecated
public static IMogoMarker drawMapMarker(MarkerShowEntity markerShowEntity) {
return getMapMarkerManager().drawMapMarker(markerShowEntity, MarkerDrawer.MARKER_Z_INDEX_HIGH);
}
/**
* 对指定类型高亮处理
* 建议使用
*/
@Deprecated
public static void highlightedMarker(String typeTag) {
}
}

View File

@@ -22,12 +22,13 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.mogo.thread.WorkThreadHandler;
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
import com.mogo.map.IDestroyable;
import com.mogo.map.MogoMapUIController;
import com.mogo.map.MogoMarkerManager;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.navi.IMogoCarLocationChangedListener2;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
@@ -47,7 +48,6 @@ import com.mogo.service.fragmentmanager.FragmentStackTransactionListener;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.intent.IMogoIntentListener;
import com.mogo.service.intent.IMogoIntentManager;
import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoActionManager;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.module.MogoAction;
@@ -105,8 +105,6 @@ public class MogoServices implements IMogoMapListener,
private MogoLatLng mLastAutoRefreshLocation = null;
private IMogoMapUIController mUiController;
/**
* 是否已计算出地图显示状态
*/
@@ -125,7 +123,6 @@ public class MogoServices implements IMogoMapListener,
// 上次手动操作的中心点坐标
private MogoLatLng mLastCustomRefreshCenterLocation;
private IMogoMapService mMogoMapService;
private IMogoStatusManager mStatusManager;
private IMogoIntentManager mIntentManager;
private IMogoActionManager mActionManager;
@@ -187,13 +184,13 @@ public class MogoServices implements IMogoMapListener,
private void invokeAutoRefresh() {
if (mStatusManager.isSearchUIShow() || mStatusManager.isV2XShow()) {
mStatusManager.setUserInteractionStatus(TAG, true, false);
mUiController.recoverLockMode();
MogoMapUIController.getInstance().recoverLockMode();
return;
}
mStatusManager.setUserInteractionStatus(ServiceConst.TYPE, true, false);
mUiController.changeZoom(ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL);
MogoMapUIController.getInstance().changeZoom(ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL);
mStatusManager.setUserInteractionStatus(TAG, true, false);
mUiController.recoverLockMode();
MogoMapUIController.getInstance().recoverLockMode();
notifyRefreshData(mLastAutoRefreshLocation, ServiceConst.DEFAULT_AUTO_REFRESH_DATA_RADIUS, mAutoRefreshCallback);
}
@@ -275,10 +272,7 @@ public class MogoServices implements IMogoMapListener,
public void preInit(Context context) {
mContext = context;
mRefreshModel = new RefreshModel(context);
mMogoMapService = MarkerServiceHandler.getMapService();
mUiController = mMogoMapService.getMapUIController();
mRefreshModel = new RefreshModel( context );
mStatusManager = MarkerServiceHandler.getMogoStatusManager();
mStatusManager.registerStatusChangedListener(ServiceConst.TYPE, StatusDescriptor.USER_INTERACTED, statusChangedListener);
mStatusManager.registerStatusChangedListener(ServiceConst.TYPE, StatusDescriptor.SEARCH_UI, statusChangedListener);
@@ -445,7 +439,7 @@ public class MogoServices implements IMogoMapListener,
switch (motionEvent.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
if (mLastZoomLevel == 0) {
mLastZoomLevel = mUiController.getZoomLevel();
mLastZoomLevel = MogoMapUIController.getInstance().getZoomLevel();
}
break;
case MotionEvent.ACTION_UP:
@@ -528,8 +522,8 @@ public class MogoServices implements IMogoMapListener,
}
private int getQueryRadius() {
mCameraSouthWestPosition = mUiController.getCameraSouthWestPosition();
mCameraNorthEastPosition = mUiController.getCameraNorthEastPosition();
mCameraSouthWestPosition = MogoMapUIController.getInstance().getCameraSouthWestPosition();
mCameraNorthEastPosition = MogoMapUIController.getInstance().getCameraNorthEastPosition();
int radius;
if (mIsVertical) {
radius = ((int) (getMapCameraFactWidth() / 2));
@@ -594,12 +588,12 @@ public class MogoServices implements IMogoMapListener,
startFirstLocationRequest(point);
return;
}
float distance = Utils.calculateLineDistance(mLastAutoRefreshLocation, point);
if (distance > mAutoRefreshStrategy.getDistance()) {
mStatusManager.setUserInteractionStatus(ServiceConst.TYPE, true, false);
mUiController.recoverLockMode();
mStatusManager.setUserInteractionStatus(TAG, true, false);
mUiController.changeZoom(ServiceConst.DEFAULT_ZOOM_LEVEL);
float distance = Utils.calculateLineDistance( mLastAutoRefreshLocation, point );
if ( distance > mAutoRefreshStrategy.getDistance() ) {
mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, false );
MogoMapUIController.getInstance().recoverLockMode();
mStatusManager.setUserInteractionStatus( TAG, true, false );
MogoMapUIController.getInstance().changeZoom( ServiceConst.DEFAULT_ZOOM_LEVEL );
mLastAutoRefreshLocation = point;
notifyRefreshData(mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback);
}
@@ -659,8 +653,8 @@ public class MogoServices implements IMogoMapListener,
public void clearAllData() {
try {
MarkerServiceHandler.getMapService().getMarkerManager(mContext).removeMarkers();
} catch (Exception e) {
MogoMarkerManager.getInstance(mContext).removeMarkers();
} catch ( Exception e ) {
e.printStackTrace();
}
}
@@ -684,9 +678,9 @@ public class MogoServices implements IMogoMapListener,
}
public void refreshStrategy() {
mStatusManager.setUserInteractionStatus(ServiceConst.TYPE, true, false);
mUiController.recoverLockMode();// 锁车代替移到中心点
restartAutoRefreshAtTime(0);
mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, false );
MogoMapUIController.getInstance().recoverLockMode();// 锁车代替移到中心点
restartAutoRefreshAtTime( 0 );
}
@@ -729,14 +723,14 @@ public class MogoServices implements IMogoMapListener,
}
@Override
public void onCmdSelected(String cmd) {
if (TextUtils.equals(ServiceConst.CMD_UN_WAKE_PREV, cmd)) {
onActionDone(MogoAction.Prev);
} else if (TextUtils.equals(ServiceConst.CMD_UN_WAKE_NEXT, cmd)) {
onActionDone(MogoAction.Next);
} else if (TextUtils.equals(ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, cmd)) {
if (mStatusManager.isMainPageOnResume()) {
mUiController.recoverLockMode();
public void onCmdSelected( String cmd ) {
if ( TextUtils.equals( ServiceConst.CMD_UN_WAKE_PREV, cmd ) ) {
onActionDone( MogoAction.Prev );
} else if ( TextUtils.equals( ServiceConst.CMD_UN_WAKE_NEXT, cmd ) ) {
onActionDone( MogoAction.Next );
} else if ( TextUtils.equals( ServiceConst.CMD_UN_WAKEUP_MY_LOCATION, cmd ) ) {
if ( mStatusManager.isMainPageOnResume() ) {
MogoMapUIController.getInstance().recoverLockMode();
}
} else if (TextUtils.equals(ServiceConst.CMD_BACK, cmd)) {
mFragmentManager.clearAll();
@@ -757,17 +751,17 @@ public class MogoServices implements IMogoMapListener,
}
@Override
public void onTransaction(int size) {
if (size == 0) {
mUiController.showMyLocation(true);
AIAssist.getInstance(mContext).unregisterUnWakeupCommand(ServiceConst.CMD_BACK);
if (mStatusManager.isSearchUIShow()) {
mStatusManager.setSearchUIShow(TAG, false);
public void onTransaction( int size ) {
if ( size == 0 ) {
MogoMapUIController.getInstance().showMyLocation( true );
AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_BACK );
if ( mStatusManager.isSearchUIShow() ) {
mStatusManager.setSearchUIShow( TAG, false );
}
mUiController.recoverLockMode();
MogoMapUIController.getInstance().recoverLockMode();
} else {
mUiController.showMyLocation(false);
AIAssist.getInstance(mContext).registerUnWakeupCommand(ServiceConst.CMD_BACK, ServiceConst.CMD_BACK_WORDS, this);
MogoMapUIController.getInstance().showMyLocation( false );
AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_BACK, ServiceConst.CMD_BACK_WORDS, this );
}
}

View File

@@ -5,6 +5,8 @@ import android.content.Intent;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.map.MogoLocationClient;
import com.mogo.map.MogoMarkerManager;
import com.mogo.module.service.launchercard.LauncherCardRefresher;
import com.mogo.module.service.marker.MapMarkerManager;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
@@ -131,14 +133,14 @@ abstract class StatusChangedAdapter implements IMogoStatusChangedListener {
mIsFirstAccOn = false;
return;
}
MarkerServiceHandler.getApis().getMapServiceApi().getSingletonLocationClient(AbsMogoApplication.getApp()).start();
MarkerServiceHandler.getApis().getMapServiceApi().getMarkerManager(AbsMogoApplication.getApp()).removeMarkers();
MogoLocationClient.getInstance(AbsMogoApplication.getApp()).start();
MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).removeMarkers();
UiThreadHandler.postDelayed(() -> {
MogoServices.getInstance().refreshStrategy();
}, 3_000L);
} else {
MarkerServiceHandler.getApis().getMapServiceApi().getSingletonLocationClient(AbsMogoApplication.getApp()).stop();
MarkerServiceHandler.getApis().getMapServiceApi().getMarkerManager(AbsMogoApplication.getApp()).removeMarkers();
MogoLocationClient.getInstance(AbsMogoApplication.getApp()).stop();
MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).removeMarkers();
}
}

View File

@@ -5,6 +5,7 @@ import android.os.Looper;
import android.os.Message;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.map.MogoMapUIController;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.service.ServiceConst;
@@ -58,7 +59,7 @@ abstract class RefreshWorkThreadHandler extends Handler {
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
return;
}
MogoApisHandler.getInstance().getApis().getStatusManagerApi().setUserInteractionStatus(TAG, true, false);
MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().recoverLockMode();
MogoApisHandler.getInstance().getApis().getStatusManagerApi().setUserInteractionStatus( TAG, true, false );
MogoMapUIController.getInstance().recoverLockMode();
}
}

View File

@@ -16,14 +16,20 @@ import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo;
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.data.traffic.TrafficData;
import com.mogo.eagle.core.function.api.map.IMogoMapFrameController;
import com.mogo.eagle.core.function.call.base.CallerBase;
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
import com.mogo.eagle.core.network.utils.GsonUtil;
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
import com.mogo.eagle.core.utilcode.mogo.thread.WorkThreadHandler;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.AppStateManager;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.map.MogoMapUIController;
import com.mogo.map.MogoMarkerManager;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.search.geo.IMogoGeoSearch;
@@ -31,7 +37,6 @@ import com.mogo.map.search.geo.IMogoGeoSearchListener;
import com.mogo.map.search.geo.MogoGeocodeResult;
import com.mogo.map.search.geo.MogoRegeocodeResult;
import com.mogo.map.search.geo.query.MogoRegeocodeQuery;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.constants.DataTypes;
import com.mogo.module.common.datacenter.SnapshotLocationDataCenter;
import com.mogo.module.common.dialog.WMDialog;
@@ -70,7 +75,7 @@ public class MockIntentHandler implements IntentHandler {
switch (oper) {
case 1:
// 展示自车位置
MarkerServiceHandler.getMapUIController().showMyLocation(intent.getBooleanExtra("status", true));
MogoMapUIController.getInstance().showMyLocation(intent.getBooleanExtra("status", true));
break;
case 2:
// 发起求助
@@ -89,7 +94,7 @@ public class MockIntentHandler implements IntentHandler {
break;
case 8:// 测试修改车头角度
float bearing = intent.getFloatExtra("bearing", 0);
MarkerServiceHandler.getMapUIController().changeBearing(bearing);
MogoMapUIController.getInstance().changeBearing(bearing);
break;
case 9:// 测试弹窗
Activity activity = AppStateManager.INSTANCE.currentActivity();
@@ -103,7 +108,7 @@ public class MockIntentHandler implements IntentHandler {
}
break;
case 10://测试GEO查询
IMogoGeoSearch geoSearch = MarkerServiceHandler.getMapService().getGeoSearch(context);
IMogoGeoSearch geoSearch = CallerMapUIServiceManager.INSTANCE.getGeoSearch(context);
geoSearch.setGeoSearchListener(new IMogoGeoSearchListener() {
@Override
public void onRegeocodeSearched(MogoRegeocodeResult regeocodeResult) {
@@ -235,10 +240,10 @@ public class MockIntentHandler implements IntentHandler {
.owner(TAG)
.autoManager(false);
int duration = intent.getIntExtra("duration", 30);
IMogoMarker marker = MarkerServiceHandler.getMarkerManager().addMarker(TAG, options);
IMogoMarker marker = MogoMarkerManager.getInstance(context).addMarker(TAG, options);
MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus(TAG, true, false);
if (!MarkerServiceHandler.getApis().getStatusManagerApi().isVrMode()) {
MarkerServiceHandler.getMapUIController().moveToCenter(mogoLatLngs.get(0));
MogoMapUIController.getInstance().moveToCenter(mogoLatLngs.get(0));
}
WorkThreadHandler.getInstance().post(() -> marker.startSmooth(mogoLatLngs, duration));
break;
@@ -251,7 +256,7 @@ public class MockIntentHandler implements IntentHandler {
SharedPrefsMgr.getInstance(context).putBoolean("useCustomMap", intent.getBooleanExtra("useCustomMap", false));
break;
case 30:// 强制刷新地图
MarkerServiceHandler.getMapService().getMapUIController().forceRender();
MogoMapUIController.getInstance().forceRender();
break;
case 31://
Intent intent3 = new Intent();
@@ -261,7 +266,7 @@ public class MockIntentHandler implements IntentHandler {
context.sendBroadcast(intent3);
break;
case 32:// 控制实时路况
MarkerServiceHandler.getMapService().getMapUIController().setTrafficEnabled(true);
MogoMapUIController.getInstance().setTrafficEnabled(true);
break;
case 33:// 测试小智语音
AIAssist.getInstance(context).speakTTSVoice("庞帆说这个是一个 hard coding.");
@@ -269,17 +274,15 @@ public class MockIntentHandler implements IntentHandler {
case 34:// 修改地图模式VR OR 2D
int type = intent.getIntExtra("type", 0);
if (type != 0) {
MogoApisHandler.getInstance().getApis().getMapFrameControllerApi().changeToVRMode();
CallerBase.getApiInstance(IMogoMapFrameController.class, MogoServicePaths.PATH_MAP_FRAME_CONTROLLER).changeToVRMode();
} else {
MogoApisHandler.getInstance().getApis().getMapFrameControllerApi().changeTo2dMode();
CallerBase.getApiInstance(IMogoMapFrameController.class, MogoServicePaths.PATH_MAP_FRAME_CONTROLLER).changeTo2dMode();
}
break;
case 36:// 测试打点功能
MogoLatLng center = MogoApisHandler.getInstance().getApis()
.getMapServiceApi().getMapUIController()
MogoLatLng center = MogoMapUIController.getInstance()
.getWindowCenterLocation();
centerMarker = MogoApisHandler.getInstance().getApis()
.getMapServiceApi().getMarkerManager(context)
centerMarker = MogoMarkerManager.getInstance(context)
.addMarker(TAG, new MogoMarkerOptions()
.position(center)
.icon(BitmapFactory.decodeResource(context.getResources(), R.drawable.bg_map_marker_red)));
@@ -290,7 +293,7 @@ public class MockIntentHandler implements IntentHandler {
}
break;
case 38:// 控制RTK
MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController()
MogoMapUIController.getInstance()
.rtkEnable(false);
break;
case 40:
@@ -404,10 +407,7 @@ public class MockIntentHandler implements IntentHandler {
});
break;
case 45:// 测试开启鹰眼模式
MogoApisHandler.getInstance()
.getApis()
.getMapServiceApi()
.getMapUIController()
MogoMapUIController.getInstance()
.openVrMode(false);
break;
case 46:// 模拟鹰眼模式下绘制车辆周边的数据
@@ -423,7 +423,7 @@ public class MockIntentHandler implements IntentHandler {
.controlAngle(true)
.icon3DRes(R.raw.special_vehicle)
.rotate((float) 358.526123);
IMogoMarker marker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(context).addMarker(DataTypes.TYPE_MARKER_ADAS, options);
IMogoMarker marker = MogoMarkerManager.getInstance(context).addMarker(DataTypes.TYPE_MARKER_ADAS, options);
List<MogoLatLng> latLngs = new ArrayList<>();
latLngs.add(new MogoLatLng(39.981971055705, 116.41150648393));
latLngs.add(new MogoLatLng(39.981990561932, 116.412893641626));
@@ -441,7 +441,7 @@ public class MockIntentHandler implements IntentHandler {
.controlAngle(false)
.icon(BitmapFactory.decodeResource(context.getResources(), R.drawable.sy))
.rotate((float) 358.526123);
IMogoMarker marker1 = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(context).addMarker(DataTypes.TYPE_MARKER_ADAS, options1);
IMogoMarker marker1 = MogoMarkerManager.getInstance(context).addMarker(DataTypes.TYPE_MARKER_ADAS, options1);
MogoMarkerOptions options2 = new MogoMarkerOptions()
.owner(DataTypes.TYPE_MARKER_ADAS)
.anchor(0.5f, 0.5f)
@@ -451,7 +451,7 @@ public class MockIntentHandler implements IntentHandler {
.controlAngle(false)
.icon(BitmapFactory.decodeResource(context.getResources(), R.drawable.sr))
.rotate((float) 358.526123);
IMogoMarker marker2 = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(context).addMarker(DataTypes.TYPE_MARKER_ADAS, options2);
IMogoMarker marker2 = MogoMarkerManager.getInstance(context).addMarker(DataTypes.TYPE_MARKER_ADAS, options2);
MogoMarkerOptions options3 = new MogoMarkerOptions()
.owner(DataTypes.TYPE_MARKER_ADAS)
.anchor(0.5f, 0.5f)
@@ -461,7 +461,7 @@ public class MockIntentHandler implements IntentHandler {
.controlAngle(false)
.icon(BitmapFactory.decodeResource(context.getResources(), R.drawable.bg_map_marker_red))
.rotate((float) 358.526123);
IMogoMarker marker3 = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(context).addMarker(DataTypes.TYPE_MARKER_ADAS, options3);
IMogoMarker marker3 = MogoMarkerManager.getInstance(context).addMarker(DataTypes.TYPE_MARKER_ADAS, options3);
break;
case 51:// 模拟路口车辆移动
// mLocationMockHandler.sendEmptyMessageDelayed(100, 0L);
@@ -499,7 +499,7 @@ public class MockIntentHandler implements IntentHandler {
locJo.put("satelliteTime", System.currentTimeMillis());
locJo.put("systemTime", System.currentTimeMillis());
}
MarkerServiceHandler.getApis().getMapServiceApi().getMapUIController().syncLocation2Map(locJo);
MogoMapUIController.getInstance().syncLocation2Map(locJo);
mLocationMockHandler.sendEmptyMessageDelayed(100, 50L);
}
@@ -540,7 +540,7 @@ public class MockIntentHandler implements IntentHandler {
data.putOpt("heading", stateInfo.getValues().getHeading());
data.putOpt("acceleration", stateInfo.getValues().getAcceleration());
data.putOpt("yawRate", stateInfo.getValues().getYaw_rate());
MarkerServiceHandler.getApis().getMapServiceApi().getMapUIController().syncLocation2Map(data);
MogoMapUIController.getInstance().syncLocation2Map(data);
// SnapshotUploadInTime.getInstance().syncAdasLocationInfo( data );
} catch (Exception e) {
e.printStackTrace();
@@ -711,7 +711,7 @@ public class MockIntentHandler implements IntentHandler {
}
JSONObject jo = new JSONObject(line);
//改变rtk定位数据触发自车移动
MarkerServiceHandler.getApis().getMapServiceApi().getMapUIController().syncLocation2Map(jo);
MogoMapUIController.getInstance().syncLocation2Map(jo);
SnapshotLocationDataCenter.getInstance().syncAdasLocationInfo(jo);
return true;
}

View File

@@ -4,6 +4,7 @@ import android.content.Context;
import android.content.Intent;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.map.MogoMapUIController;
import com.mogo.module.service.MarkerServiceHandler;
/**
@@ -20,10 +21,10 @@ public class MyLocationHandler implements IntentHandler {
return;
}
if ( MarkerServiceHandler.getMogoStatusManager().isMainPageOnResume() ) {
MarkerServiceHandler.getMapUIController().recoverLockMode();
MogoMapUIController.getInstance().recoverLockMode();
} else {
UiThreadHandler.postDelayed( () -> {
MarkerServiceHandler.getMapUIController().recoverLockMode();
MogoMapUIController.getInstance().recoverLockMode();
}, 2_000L );
}
}

View File

@@ -4,7 +4,7 @@ import android.content.Context;
import android.content.Intent;
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.map.MogoMapUIController;
public
/**
@@ -21,10 +21,7 @@ class NetworkChangedIntentHandler implements IntentHandler {
public void handle( Context context, Intent intent ) {
if ( NetworkUtils.isConnected( context ) ) {
try {
MogoApisHandler.getInstance()
.getApis()
.getMapServiceApi()
.getMapUIController()
MogoMapUIController.getInstance()
.setTrafficEnabled( true );
} catch ( Exception e ) {
e.printStackTrace();

View File

@@ -19,6 +19,7 @@ import com.mogo.eagle.core.network.utils.GsonUtil;
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
import com.mogo.eagle.core.utilcode.util.AppUtils;
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
import com.mogo.map.MogoLocationClient;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.module.service.R;
@@ -180,10 +181,7 @@ class LauncherCardRefresher {
}
private void trtRequestNetworkConfigStrategy() {
if ( NetworkUtils.isConnected( mContext ) && MogoApisHandler.getInstance()
.getApis()
.getMapServiceApi()
.getSingletonLocationClient( mContext )
if ( NetworkUtils.isConnected( mContext ) && MogoLocationClient.getInstance(mContext)
.getLastKnowLocation() != null ) {
mHandler.sendEmptyMessageDelayed( MSG_LOAD_NET_CONFIG, 0L );
mHandler.sendEmptyMessageDelayed( MSG_LOAD_NET_CONFIG2, 2 * ONE_MINUTE );
@@ -385,7 +383,7 @@ class LauncherCardRefresher {
String name = SharedPrefsMgr.getInstance( mContext ).getString( KEY_LAST_LOAD_TTS_TYPE, LauncherCardRefreshType.Weather.name() );
LauncherCardRefreshType type = LauncherCardRefreshType.valueOf( name );
MogoLocation location = MogoApisHandler.getInstance().getApis().getMapServiceApi().getSingletonLocationClient( mContext ).getLastKnowLocation();
MogoLocation location = MogoLocationClient.getInstance(mContext).getLastKnowLocation();
TtsConfigBody body = new TtsConfigBody()
.addType( LauncherCardRefreshType.NearRoads.getVal() )
.addType( LauncherCardRefreshType.News.getVal() )

View File

@@ -12,6 +12,8 @@ import com.mogo.eagle.core.utilcode.mogo.toast.ResourcesHelper;
import com.mogo.eagle.core.utilcode.util.ThreadPoolService;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.eagle.core.utilcode.util.ViewUtils;
import com.mogo.map.MogoMapUIController;
import com.mogo.map.MogoMarkerManager;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.marker.IMogoMarkerManager;
@@ -235,7 +237,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
}
if (!MarkerServiceHandler.getApis().getStatusManagerApi().isVrMode()) {
MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus(TAG, true, false);
MarkerServiceHandler.getMapUIController().moveToCenter(mogoMarker.getPosition(), true);
MogoMapUIController.getInstance().moveToCenter(mogoMarker.getPosition(), true);
}
}
@@ -347,7 +349,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
return;
}
if (MarkerServiceHandler.getMapUIController().getCurrentMapVisualAngle().isLongSight()) {
if (MogoMapUIController.getInstance().getCurrentMapVisualAngle().isLongSight()) {
return;
}
@@ -601,7 +603,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
* 移除在线车辆 marker
*/
private void removeCarMarkers() {
MarkerServiceHandler.getMarkerManager().removeMarkers(ModuleNames.CARD_TYPE_USER_DATA);
MogoMarkerManager.getInstance(mContext).removeMarkers(ModuleNames.CARD_TYPE_USER_DATA);
}
/**
@@ -614,7 +616,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
|| MarkerServiceHandler.getMogoStatusManager().isV2XShow()
|| !MarkerServiceHandler.getMogoStatusManager().isMainPageLaunched()
|| !MarkerServiceHandler.getMogoStatusManager().isMainPageOnResume()
|| MarkerServiceHandler.getMapUIController().getCurrentMapVisualAngle().isLongSight();
|| MogoMapUIController.getInstance().getCurrentMapVisualAngle().isLongSight();
}
private void runOnTargetThread(Runnable runnable) {
@@ -633,7 +635,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
if (data instanceof MarkerShowEntity && ((MarkerShowEntity) data).getMarker() != null) {
switchMarkerOpenStatus(((MarkerShowEntity) data).getMarker());
} else {
IMogoMarkerManager markerManager = MarkerServiceHandler.getMarkerManager();
IMogoMarkerManager markerManager = MogoMarkerManager.getInstance(mContext);
List<IMogoMarker> markers = markerManager.getMarkers(biz);
if (markers != null) {
try {
@@ -661,7 +663,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
public void redrawMarkerByStyleChanged() {
if (mLastDataResult != null) {
runOnTargetThread(() -> {
MarkerServiceHandler.getMarkerManager().removeMarkers(ModuleNames.CARD_TYPE_ROAD_CONDITION);
MogoMarkerManager.getInstance(mContext).removeMarkers(ModuleNames.CARD_TYPE_ROAD_CONDITION);
drawMarkerByCurrentType(mLastDataResult);
mLastCheckMarker = null;
});

View File

@@ -1,39 +0,0 @@
package com.mogo.module.service.marker;
import android.content.Context;
import androidx.annotation.Nullable;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.module.common.drawer.MarkerDrawer;
import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.service.module.IMogoMarkerService;
/**
* @author congtaowang
* @since 2020-05-27
* <p>
* 调用 #mogo-module-service# 模块的样式打点
*/
@Route( path = MogoServicePaths.PATH_MARKER_SERVICE )
public class MogoMarkerServiceImpl implements IMogoMarkerService {
private static final String TAG = "MogoMarkerServiceImpl";
@Nullable
@Override
public IMogoMarker drawMarker( Object object ) {
if ( object instanceof MarkerShowEntity ) {
return MarkerServiceHandler.getMapMarkerManager().drawMapMarker( ( ( MarkerShowEntity ) object ), MarkerDrawer.MARKER_Z_INDEX_HIGH );
}
return null;
}
@Override
public void init( Context context ) {
}
}

View File

@@ -10,6 +10,9 @@ import android.graphics.Color;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.ColorUtils;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.map.MogoMarkerManager;
import com.mogo.map.MogoOverlayManager;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.overlay.IMogoOverlayManager;
@@ -49,7 +52,7 @@ public class RouteOverlayDrawer {
// 引导线颜色,
mPolylineColors = new ArrayList<>();
mContext = context;
mogoOverlayManager = MogoApisHandler.getInstance().getApis().getMapServiceApi().getOverlayManager(mContext);
mogoOverlayManager = MogoOverlayManager.getInstance();
endingBitmap = BitmapFactory.decodeResource(context.getResources(),
R.drawable.icon_route_ending);
}
@@ -74,7 +77,6 @@ public class RouteOverlayDrawer {
return sInstance;
}
public void addEndingMarker(double lat, double lon) {
if (endMarker != null) {
return;
@@ -92,7 +94,7 @@ public class RouteOverlayDrawer {
}
markderOptions.latitude(lat).longitude(lon);
//CallerLogger.INSTANCE.d(M_OLD_ROUTE + TAG,"addEndingMarker-"+lat+":"+lon);
endMarker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(mContext).addMarker(markerType, markderOptions);
endMarker = MogoMarkerManager.getInstance(mContext).addMarker(markerType, markderOptions);
// if (DebugConfig.isDebug()){
// ToastUtils.showLong("绘制终点marker,"+lat+":"+lon);
// }
@@ -110,7 +112,7 @@ public class RouteOverlayDrawer {
public void clearEndingMarker() {
//CallerLogger.INSTANCE.d(M_OLD_ROUTE + TAG,"clearEndingMarker");
endMarker = null;
MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(mContext).removeMarkers(markerType);
MogoMarkerManager.getInstance(mContext).removeMarkers(markerType);
}