diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java index 9691975a38..d629165e9e 100644 --- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java +++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java @@ -20,7 +20,7 @@ import com.mogo.module.main.cards.MogoModulesManager; import com.mogo.module.service.receiver.MogoReceiver; import com.mogo.och.IMogoOCH; import com.mogo.service.intent.IMogoIntentListener; -import com.mogo.service.map.IMogoSmallMapProvider; +import com.mogo.service.smp.IMogoSmallMapProvider; import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.service.v2x.IV2XWarningListener; import com.mogo.utils.logger.Logger; diff --git a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapDirectionView.java b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapDirectionView.java index 0141fd5a96..635cffebd5 100644 --- a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapDirectionView.java +++ b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapDirectionView.java @@ -90,6 +90,15 @@ public class SmallMapDirectionView extends RelativeLayout implements IMogoCarLoc }); } + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + // 注册定位监听 + SmpServiceManager.getMogoRegisterCenter() + .unregisterCarLocationChangedListener(MODULE_NAME, this); + + } + private void initAMapView() { // 车头朝上 mAMapNaviView.setNaviMode(AMapNaviView.CAR_UP_MODE); @@ -104,7 +113,8 @@ public class SmallMapDirectionView extends RelativeLayout implements IMogoCarLoc mAMap.setTrafficEnabled(false); mAMapNavi = AMapNavi.getInstance(getContext()); - mAMapNavi.setIsUseExtraGPSData(false); + //使用外部GPS数据 + mAMapNavi.setIsUseExtraGPSData(true); new Thread(() -> { try { diff --git a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapFragment.java b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapFragment.java index 1aecd0d01f..196f4fb605 100644 --- a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapFragment.java +++ b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapFragment.java @@ -17,13 +17,11 @@ import com.mogo.commons.AbsMogoApplication; * @date 2021/5/19 10:50 上午 */ public class SmallMapFragment extends Fragment { - private Context mContext; protected View mRootView; @Override public void onAttach(Context context) { super.onAttach(context); - mContext = context; } @Nullable diff --git a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapProvider.java b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapProvider.java index 0dac09d276..b50fc012cd 100644 --- a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapProvider.java +++ b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapProvider.java @@ -6,13 +6,16 @@ import android.util.Log; import androidx.fragment.app.FragmentActivity; import com.alibaba.android.arouter.facade.annotation.Route; +import com.mogo.map.MogoLatLng; import com.mogo.module.common.MogoApisHandler; import com.mogo.service.MogoServicePaths; -import com.mogo.service.map.IMogoSmallMapProvider; +import com.mogo.service.smp.IMogoSmallMapProvider; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.logger.Logger; +import java.util.List; + /** * @author donghongyu * @date 12/10/20 1:34 PM @@ -32,9 +35,7 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang Log.d(TAG, "小地图模块初始化……init(FragmentActivity activity, int containerId)"); mActivity = activity; mContainerId = containerId; - - Logger.d(TAG, "addSmallMapView"); - + SmpServiceManager.init(mActivity); } @Override @@ -86,6 +87,16 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang } + @Override + public void drawablePolyline(List coordinates) { + + } + + @Override + public void clearPolyline() { + + } + @Override public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { Log.d(TAG, "onStatusChanged……descriptor=" + descriptor + ",isTrue=" + isTrue); diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java b/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java index 9b94367304..b14ea8527f 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java @@ -19,7 +19,7 @@ import com.mogo.service.launcher.IMogoLauncher; import com.mogo.service.locationinfo.IMogoLocationInfoService; import com.mogo.service.map.IMogoMapFrameController; import com.mogo.service.map.IMogoMapService; -import com.mogo.service.map.IMogoSmallMapProvider; +import com.mogo.service.smp.IMogoSmallMapProvider; import com.mogo.service.module.IMogoActionManager; import com.mogo.service.module.IMogoAddressManager; import com.mogo.service.module.IMogoMarkerService; diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoSmallMapProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/smp/IMogoSmallMapProvider.java similarity index 65% rename from services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoSmallMapProvider.java rename to services/mogo-service-api/src/main/java/com/mogo/service/smp/IMogoSmallMapProvider.java index 61aa1e5b35..74a2c81174 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoSmallMapProvider.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/smp/IMogoSmallMapProvider.java @@ -1,10 +1,12 @@ -package com.mogo.service.map; +package com.mogo.service.smp; import androidx.annotation.IdRes; import androidx.fragment.app.FragmentActivity; import com.alibaba.android.arouter.facade.template.IProvider; -import com.mogo.service.module.IMogoModuleProvider; +import com.mogo.map.MogoLatLng; + +import java.util.List; /** * @author donghongyu @@ -18,7 +20,7 @@ public interface IMogoSmallMapProvider extends IProvider { * @param activity * @param containerId 容器ID */ - void init(FragmentActivity activity, @IdRes int containerId ); + void init(FragmentActivity activity, @IdRes int containerId); /** * 显示面板 @@ -32,7 +34,18 @@ public interface IMogoSmallMapProvider extends IProvider { /** * 修改轮盘角度 + * * @param angle 角度值 0-359 */ void changeAngle(double angle); + + /** + * 绘制路径线 + */ + void drawablePolyline(List coordinates); + + /** + * 清除路径线 + */ + void clearPolyline(); } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java index b7b9906439..63eaede692 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java @@ -1,7 +1,6 @@ package com.mogo.service.impl; import android.content.Context; -import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.template.IProvider; @@ -28,7 +27,7 @@ import com.mogo.service.launcher.IMogoLauncher; import com.mogo.service.locationinfo.IMogoLocationInfoService; import com.mogo.service.map.IMogoMapFrameController; import com.mogo.service.map.IMogoMapService; -import com.mogo.service.map.IMogoSmallMapProvider; +import com.mogo.service.smp.IMogoSmallMapProvider; import com.mogo.service.module.IMogoActionManager; import com.mogo.service.module.IMogoAddressManager; import com.mogo.service.module.IMogoMarkerService;