diff --git a/OCH/mogo-och-shuttle-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2HPMapFragment.kt b/OCH/mogo-och-shuttle-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2HPMapFragment.kt index 05b1101cfd..59c671270c 100644 --- a/OCH/mogo-och-shuttle-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2HPMapFragment.kt +++ b/OCH/mogo-och-shuttle-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2HPMapFragment.kt @@ -1,12 +1,12 @@ package com.mogo.och.bus.passenger.ui import android.os.Bundle -import com.mogo.commons.AbsMogoApplication import com.mogo.commons.mvp.MvpFragment import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getMapUIController -import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getMarkerManager +import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager.getOverlayManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d -import com.mogo.map.marker.MogoMarkerOptions +import com.mogo.map.overlay.core.Level +import com.mogo.map.overlay.point.Point import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.constant.M2Const.Companion.TYPE_MARKER_M2_LINE import com.mogo.och.bus.passenger.presenter.PM2ADASPresenter @@ -82,26 +82,33 @@ class PM2HPMapFragment : val setMapMarkerRunnable = Runnable { d("setMapMaker= " + Thread.currentThread().name, uuid + "=latitude=" + station[1] + ",longitude=" + station[0]) - val options = MogoMarkerOptions() - .owner(TYPE_MARKER_M2_LINE) + + val builder = Point.Options.Builder( + TYPE_MARKER_M2_LINE, + Level.MAP_MARKER + ) + .setId(uuid) .anchor(0.5f, 0.5f) .set3DMode(true) - .gps(true) + .isUseGps(true) .controlAngle(true) .icon3DRes(R.raw.star_marker) .longitude(station[0]) .latitude(station[1]) - val marker = Objects.requireNonNull( - getMarkerManager(AbsMogoApplication.getApp()) - )?.addMarker(uuid, options) - val centerLine = - getMapUIController()!! - .getCenterLineInfo( - station[0], station[1], -1f - ) - if (null != centerLine && marker != null) { // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 - marker.setRotateAngle(centerLine.angle!!.toFloat()) + val mapUIController = getMapUIController() + if (mapUIController != null) { + val centerLine = mapUIController.getCenterLineInfo( + station[0], station[1], -1f + ) + if (null != centerLine) { // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 地图未初始化会返回空 + val angle = centerLine.angle + if (angle != null) { + builder.rotate(angle.toFloat()) + } + } } + val overlayManager = getOverlayManager() + overlayManager?.showOrUpdatePoint(builder.build()) } OCHThreadPoolManager.getsInstance().execute(setMapMarkerRunnable) } @@ -112,9 +119,8 @@ class PM2HPMapFragment : //开启线程移除起终点marker设置 val removeMapMarkerRunnable = Runnable { d("RemoveMapMaker=" + Thread.currentThread().name, uuid) - Objects.requireNonNull( - getMarkerManager(AbsMogoApplication.getApp()) - )?.removeMarkers(uuid) + val overlayManager = getOverlayManager() + overlayManager?.removePoint(uuid) } OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable) } diff --git a/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/fragment/BusFragment.java b/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/fragment/BusFragment.java index d2bf3a6cf7..737a96683a 100644 --- a/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/fragment/BusFragment.java +++ b/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/fragment/BusFragment.java @@ -25,8 +25,10 @@ import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant; import com.mogo.eagle.core.utilcode.util.ToastUtils; -import com.mogo.map.marker.IMogoMarker; -import com.mogo.map.marker.MogoMarkerOptions; +import com.mogo.map.overlay.IMoGoOverlayManager; +import com.mogo.map.overlay.core.Level; +import com.mogo.map.overlay.point.Point; +import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.och.bus.R; import com.mogo.och.data.bean.BusStationBean; import com.mogo.och.bus.constant.BusConst; @@ -486,20 +488,29 @@ public class BusFragment extends BaseBusTabFragment CallerLogger.INSTANCE.d(M_BUS + "setMapMaker= "+Thread.currentThread().getName(), uuid + "=latitude=" + lat + ",longitude=" + longi); - MogoMarkerOptions options = new MogoMarkerOptions() - .owner(BusConst.TYPE_MARKER_BUS_ORDER) + Point.Options.Builder builder = new Point.Options.Builder(BusConst.TYPE_MARKER_BUS_ORDER, Level.MAP_MARKER) + .setId(uuid) .anchor(0.5f, 0.5f) .set3DMode(true) - .gps(true) + .isUseGps(true) .controlAngle(true) .icon3DRes(resourceId) .latitude(lat) .longitude(longi); - IMogoMarker marker = Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMarkerManager(AbsMogoApplication.getApp())).addMarker(uuid, options); - CenterLine centerLine = CallerMapUIServiceManager.INSTANCE.getMapUIController().getCenterLineInfo( - longi,lat,-1); - if (null != centerLine && marker != null) { // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 地图未初始化会返回空 - marker.setRotateAngle(centerLine.getAngle().floatValue()); + IMogoMapUIController mapUIController = CallerMapUIServiceManager.INSTANCE.getMapUIController(); + if (mapUIController != null) { + CenterLine centerLine = mapUIController.getCenterLineInfo( + longi,lat,-1); + if (null != centerLine) { // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 地图未初始化会返回空 + Double angle = centerLine.getAngle(); + if (angle != null) { + builder.rotate(angle.floatValue()); + } + } + } + IMoGoOverlayManager overlayManager = CallerMapUIServiceManager.INSTANCE.getOverlayManager(); + if (overlayManager != null) { + overlayManager.showOrUpdatePoint(builder.build()); } }; @@ -509,7 +520,7 @@ public class BusFragment extends BaseBusTabFragment Runnable removeMapMarkerRunnable = () -> { CallerLogger.INSTANCE.d(M_BUS + "RemoveMapMaker="+Thread.currentThread().getName(), uuid+"=latitude="+lat+",longitude="+longi); - Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMarkerManager(AbsMogoApplication.getApp())).removeMarkers(uuid); + Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getOverlayManager()).removePoint(uuid); }; OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable); } diff --git a/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/model/OrderModel.java b/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/model/OrderModel.java index a1c23413a0..caf8be93dc 100644 --- a/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/mogo-och-shuttle/src/main/java/com/mogo/och/bus/model/OrderModel.java @@ -227,6 +227,11 @@ public class OrderModel { private final IReceivedMsgListener mReceivedMsgListener = new IReceivedMsgListener() { + @Override + public void onReceivedServerSn(@Nullable String sn) { + + } + @Override public void onReceivedMsg(int type, @NonNull byte[] byteArray) { if (OchCommonConst.BUSINESS_STRING == type){ diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java index 48ab20daee..fdaa8430b5 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java @@ -340,8 +340,8 @@ public abstract class BaseSweeperTabFragment