[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

@@ -68,6 +68,7 @@ dependencies {
implementation rootProject.ext.dependencies.mogomap
implementation rootProject.ext.dependencies.mogomapapi
implementation rootProject.ext.dependencies.moduleservice
} else {
implementation project(':modules:mogo-module-common')
implementation project(':services:mogo-service-api')
@@ -81,6 +82,7 @@ dependencies {
implementation project(":libraries:mogo-map")
implementation project(":libraries:mogo-map-api")
implementation project(':libraries:mogo-adas')
implementation project(':modules:mogo-module-service')
}
}

View File

@@ -0,0 +1,89 @@
package com.mogo.eagle.core.function.impl;
import android.content.Context;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.eagle.core.function.api.map.IMogoMapService;
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;
/**
* @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

@@ -1,34 +0,0 @@
package com.mogo.eagle.core.function.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.eagle.core.function.api.map.location.IMoGoLocationUpdater4AutoPilot
import com.mogo.eagle.core.utilcode.util.Utils
import com.mogo.module.common.MogoApisHandler
import com.mogo.service.IMogoServiceApis
@Route(path = MogoServicePaths.PATH_MAP_LOCATION_UPDATE_4_AUTO_PILOT)
class MoGoLocationUpdater4AutoPilot: IMoGoLocationUpdater4AutoPilot {
private val TAG = "MoGoLocationUpdater4AutoPilot"
override val functionName = TAG;
private val api: IMogoServiceApis? by lazy {
MogoApisHandler.getInstance().apis
}
override fun updateLocation(location: Any?) {
api?.mapServiceApi?.getSingletonLocationClient(Utils.getApp())?.updateLocation(location);
}
override fun init(context: Context?) {
//DO NOTING
}
override fun onDestroy() {
//DO NOTHING
}
}

View File

@@ -0,0 +1,46 @@
package com.mogo.eagle.core.function.impl.marker;
import android.content.Context;
import androidx.annotation.Nullable;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.eagle.core.function.api.map.marker.IMogoMarkerService;
import com.mogo.map.MogoMapUIController;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.drawer.MarkerDrawer;
import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.marker.MapMarkerManager;
/**
* @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 MapMarkerManager.getInstance().drawMapMarker( ( ( MarkerShowEntity ) object ), MarkerDrawer.MARKER_Z_INDEX_HIGH );
}
return null;
}
@Override
public void init( Context context ) {
}
@Override
public IMogoMapUIController getMapUIController() {
return MogoMapUIController.getInstance();
}
}

View File

@@ -9,14 +9,17 @@ import androidx.annotation.Nullable;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.eagle.core.data.constants.MoGoFragmentPaths;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.eagle.core.function.api.map.IMogoMapFrameController;
import com.mogo.eagle.core.function.api.map.hd.IMoGoMapFragmentProvider;
import com.mogo.eagle.core.function.call.base.CallerBase;
import com.mogo.map.IMogoMap;
import com.mogo.map.IMogoUiSettings;
import com.mogo.map.MogoMapView;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.service.map.IMogoMapFrameController;
import com.mogo.service.IMogoServiceApis;
/**
* @author donghongyu
@@ -48,7 +51,7 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter >
@Override
protected void initViews() {
MogoApisHandler.getInstance().getApis().getMapFrameControllerApi().initDelegate( this );
CallerBase.getApiInstance(IMogoMapFrameController.class, MogoServicePaths.PATH_MAP_FRAME_CONTROLLER).initDelegate(this);
}
@Override
@@ -173,7 +176,7 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter >
@Override
public void destroy() {
MogoApisHandler.getInstance().getApis().getMapFrameControllerApi().destroy();
CallerBase.getApiInstance(IMogoMapFrameController.class, MogoServicePaths.PATH_MAP_FRAME_CONTROLLER).destroy();
}
@Override

View File

@@ -4,7 +4,7 @@ import android.content.Context;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.service.map.IMogoMapFrameController;
import com.mogo.eagle.core.function.api.map.IMogoMapFrameController;
public
/**