[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

@@ -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();
}

View File

@@ -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();
}

View File

@@ -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();
}

View File

@@ -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 );
}

View File

@@ -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) {

View File

@@ -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) {
}
}

View File

@@ -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));