[Update]Map按照新架构重构
This commit is contained in:
@@ -12,10 +12,7 @@ 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.IMogoMapFrameController;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
import com.mogo.service.module.IMogoActionManager;
|
||||
import com.mogo.service.module.IMogoMarkerService;
|
||||
import com.mogo.service.module.IMogoRegisterCenter;
|
||||
import com.mogo.service.network.IMogoNetwork;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
@@ -74,13 +71,6 @@ public interface IMogoServiceApis extends IProvider {
|
||||
*/
|
||||
IMogoIntentManager getIntentManagerApi();
|
||||
|
||||
/**
|
||||
* 地图方服务接口
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
IMogoMapService getMapServiceApi();
|
||||
|
||||
/**
|
||||
* 各业务回调接口注册接口
|
||||
*
|
||||
@@ -139,13 +129,6 @@ public interface IMogoServiceApis extends IProvider {
|
||||
*/
|
||||
DisplayEffectsInterface getDisplayEffectsManager();
|
||||
|
||||
/**
|
||||
* 其他模块调用公共的marker打点
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
IMogoMarkerService getMarkerService();
|
||||
|
||||
/**
|
||||
* 获取位置上报服务接口
|
||||
*
|
||||
@@ -159,12 +142,4 @@ public interface IMogoServiceApis extends IProvider {
|
||||
* @return
|
||||
*/
|
||||
IMogoPassportManager getPassportManagerApi();
|
||||
|
||||
/**
|
||||
* 地图图层控制接口
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
IMogoMapFrameController getMapFrameControllerApi();
|
||||
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
package com.mogo.service.map;
|
||||
|
||||
import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
import com.mogo.map.IDestroyable;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020/10/23
|
||||
* <p>
|
||||
* 地图图层切换:高德地图 <-> 自研地图,过渡期使用
|
||||
*/
|
||||
public interface IMogoMapFrameController extends IProvider, IDestroyable {
|
||||
|
||||
void initDelegate(IMogoMapFrameController controller);
|
||||
|
||||
/**
|
||||
* 切换到高德2D
|
||||
*/
|
||||
void changeTo2dMode();
|
||||
|
||||
/**
|
||||
* 切换到自研vr
|
||||
*/
|
||||
void changeToVRMode();
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
package com.mogo.service.map;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
import com.mogo.map.listener.IMogoHosListenerRegister;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.map.marker.IMogoMarkerManager;
|
||||
import com.mogo.map.overlay.IMogoOverlayManager;
|
||||
import com.mogo.map.search.geo.IMogoGeoSearch;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearch;
|
||||
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
|
||||
import com.mogo.map.search.traffic.IMogoTrafficSearch;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-18
|
||||
* <p>
|
||||
* 地图对外接口
|
||||
*/
|
||||
public interface IMogoMapService extends IProvider {
|
||||
|
||||
/**
|
||||
* 获取定位服务实例,全局唯一
|
||||
*
|
||||
* @param context
|
||||
* @return
|
||||
*/
|
||||
IMogoLocationClient getSingletonLocationClient( Context context );
|
||||
|
||||
/**
|
||||
* 地理编码或逆地理编码服务
|
||||
*
|
||||
* @param context
|
||||
* @return
|
||||
*/
|
||||
IMogoGeoSearch getGeoSearch( Context context );
|
||||
|
||||
/**
|
||||
* poi搜索服务
|
||||
*
|
||||
* @param context
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
IMogoPoiSearch getPoiSearch( Context context, MogoPoiSearchQuery query );
|
||||
|
||||
|
||||
/**
|
||||
* marker 操作
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
IMogoMarkerManager getMarkerManager( Context context );
|
||||
|
||||
/**
|
||||
* 地图UI控制
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
IMogoMapUIController getMapUIController();
|
||||
|
||||
/**
|
||||
* 主模块监听注册
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
IMogoHosListenerRegister getHostListenerRegister();
|
||||
|
||||
/**
|
||||
* 覆盖物操作
|
||||
*
|
||||
* @param context
|
||||
* @return
|
||||
*/
|
||||
IMogoOverlayManager getOverlayManager( Context context );
|
||||
|
||||
/**
|
||||
* 交通态势查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
IMogoTrafficSearch getTrafficSearchApi();
|
||||
|
||||
/**
|
||||
* 获取地图版本号
|
||||
* @return
|
||||
*/
|
||||
String getMapVersion();
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
package com.mogo.service.module;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-05-27
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public interface IMogoMarkerService extends IProvider {
|
||||
|
||||
/**
|
||||
* @param object instance of com.mogo.module.common.entity.MarkerShowEntity
|
||||
* @return
|
||||
*/
|
||||
@Nullable
|
||||
IMogoMarker drawMarker( Object object );
|
||||
}
|
||||
@@ -21,10 +21,7 @@ import com.mogo.service.impl.imageloader.glide.GlideImageLoader;
|
||||
import com.mogo.service.impl.intent.IntentManager;
|
||||
import com.mogo.service.impl.singleton.SingletonsHolder;
|
||||
import com.mogo.service.intent.IMogoIntentManager;
|
||||
import com.mogo.service.map.IMogoMapFrameController;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
import com.mogo.service.module.IMogoActionManager;
|
||||
import com.mogo.service.module.IMogoMarkerService;
|
||||
import com.mogo.service.module.IMogoRegisterCenter;
|
||||
import com.mogo.service.network.IMogoNetwork;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
@@ -71,11 +68,6 @@ public class MogoServiceApis implements IMogoServiceApis {
|
||||
return IntentManager.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMapService getMapServiceApi() {
|
||||
return SingletonsHolder.get(IMogoMapService.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoNetwork getNetworkApi() {
|
||||
return SingletonsHolder.get(IMogoNetwork.class);
|
||||
@@ -127,11 +119,6 @@ public class MogoServiceApis implements IMogoServiceApis {
|
||||
return getApiInstance(DisplayEffectsInterface.class, MogoServicePaths.PATH_MAIN_DISPLAY_EFFECTS_MANAGER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMarkerService getMarkerService() {
|
||||
return getApiInstance(IMogoMarkerService.class, MogoServicePaths.PATH_MARKER_SERVICE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoLocationInfoService getLocationInfoApi() {
|
||||
return getApiInstance(IMogoLocationInfoService.class, MogoServicePaths.PATH_LOCATION_INFO);
|
||||
@@ -142,11 +129,6 @@ public class MogoServiceApis implements IMogoServiceApis {
|
||||
return getApiInstance(IMogoPassportManager.class, MogoServicePaths.PATH_PASSPORT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMapFrameController getMapFrameControllerApi() {
|
||||
return getApiInstance(IMogoMapFrameController.class, MogoServicePaths.PATH_MAP_FRAME_CONTROLLER);
|
||||
}
|
||||
|
||||
private static <T extends IProvider> T getApiInstance(Class<T> clazz, String path) {
|
||||
T inst = SingletonsHolder.get(clazz);
|
||||
if (inst == null) {
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
package com.mogo.service.impl.map;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths;
|
||||
import com.mogo.map.MogoGeoSearch;
|
||||
import com.mogo.map.MogoLocationClient;
|
||||
import com.mogo.map.MogoMap;
|
||||
import com.mogo.map.MogoMapUIController;
|
||||
import com.mogo.map.MogoMarkerManager;
|
||||
import com.mogo.map.MogoOverlayManager;
|
||||
import com.mogo.map.MogoPoiSearch;
|
||||
import com.mogo.map.MogoTrafficSearch;
|
||||
import com.mogo.map.listener.IMogoHosListenerRegister;
|
||||
import com.mogo.map.listener.MogoHosListenerRegister;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.map.marker.IMogoMarkerManager;
|
||||
import com.mogo.map.overlay.IMogoOverlayManager;
|
||||
import com.mogo.map.search.geo.IMogoGeoSearch;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearch;
|
||||
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
|
||||
import com.mogo.map.search.traffic.IMogoTrafficSearch;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-12-18
|
||||
* <p>
|
||||
* 地图对外地接口
|
||||
*/
|
||||
@Route(path = MogoServicePaths.PATH_SERVICES_MAP)
|
||||
public class MogoMapService implements IMogoMapService {
|
||||
|
||||
@Override
|
||||
public IMogoLocationClient getSingletonLocationClient(Context context) {
|
||||
return MogoLocationClient.getInstance(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoGeoSearch getGeoSearch(Context context) {
|
||||
return new MogoGeoSearch(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoPoiSearch getPoiSearch(Context context, MogoPoiSearchQuery query) {
|
||||
return new MogoPoiSearch(context, query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMarkerManager getMarkerManager(Context context) {
|
||||
return MogoMarkerManager.getInstance(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMapUIController getMapUIController() {
|
||||
return MogoMapUIController.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoHosListenerRegister getHostListenerRegister() {
|
||||
return MogoHosListenerRegister.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoOverlayManager getOverlayManager(Context context) {
|
||||
return MogoOverlayManager.getInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoTrafficSearch getTrafficSearchApi() {
|
||||
return new MogoTrafficSearch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMapVersion() {
|
||||
if (MogoMap.getInstance().getMogoMap() != null) {
|
||||
return MogoMap.getInstance().getMogoMap().getMapVersion();
|
||||
} else {
|
||||
return "0";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,10 +5,8 @@ import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.service.datamanager.IMogoDataManager;
|
||||
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
|
||||
import com.mogo.service.impl.fragmentmanager.MogoFragmentManager;
|
||||
import com.mogo.service.impl.map.MogoMapService;
|
||||
import com.mogo.service.impl.network.MogoNetWorkService;
|
||||
import com.mogo.service.impl.statusmanager.MogoStatusManager;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
import com.mogo.service.network.IMogoNetwork;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
|
||||
@@ -29,7 +27,6 @@ public class SingletonsHolder {
|
||||
|
||||
static {
|
||||
sSingletons.put(IMogoFragmentManager.class, new MogoFragmentManager());
|
||||
sSingletons.put(IMogoMapService.class, new MogoMapService());
|
||||
sSingletons.put(IMogoNetwork.class, new MogoNetWorkService());
|
||||
sSingletons.put(IMogoStatusManager.class, new MogoStatusManager());
|
||||
sSingletons.put(IMogoDataManager.class, ARouter.getInstance().navigation(IMogoDataManager.class));
|
||||
|
||||
Reference in New Issue
Block a user