diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt index 32708dce2e..f845c24b6c 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt @@ -10,6 +10,8 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils.isPassenger import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils.isTaxi import com.mogo.map.overlay.core.Level import com.mogo.map.overlay.point.Point +import com.zhidaoauto.map.sdk.open.renders.marker.Marker +import com.zhidaoauto.map.sdk.open.renders.marker.MarkerOptions import mogo.telematics.pad.MessagePad.* object TrackerSourceFilterHelper { @@ -112,7 +114,7 @@ object TrackerSourceFilterHelper { .setDisplayAnim(true) .setAnimScale(getAnimScale(data.type)) .build() - CallerMapUIServiceManager.getOverlayManager()?.showOrUpdatePoint(opt) + CallerMapUIServiceManager.getOverlayManager()?.updateAnimPoint(opt) //消息埋点 CallerFuncBizListenerManager.invokeAttrZombieAnalyticsEvent() } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoMap.kt b/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoMap.kt index 4c0e2e2bcf..e7ed9a56eb 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoMap.kt +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/IMogoMap.kt @@ -33,6 +33,8 @@ interface IMogoMap { fun addPoint(options: Point.Options): IMapPointOverlay? + fun addAnimPoint(options: Point.Options) + fun addLine(options: Polyline.Options): IMapPolylineOverlay? /** diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/IMoGoOverlayManager.kt b/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/IMoGoOverlayManager.kt index eb5b53740c..26a6885662 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/IMoGoOverlayManager.kt +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/overlay/IMoGoOverlayManager.kt @@ -75,4 +75,6 @@ interface IMoGoOverlayManager { fun hideAllPointsExceptIds(vararg ids: String) fun hideAllPointsExceptOwners(vararg owners: String) + + fun updateAnimPoint(options: Point.Options, mapTag:String = DEFAULT) } \ No newline at end of file diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.kt b/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.kt index 5e676954e6..dc6ec64f11 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.kt +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapWrapper.kt @@ -11,8 +11,10 @@ import com.mogo.map.overlay.wrapper.line.AMapPolylineWrapper import com.mogo.map.overlay.wrapper.point.AMapPointWrapper import com.mogo.map.uicontroller.IMogoMapUIController import com.mogo.map.utils.ObjectUtils +import com.zhidaoauto.map.data.point.LonLatPoint import com.zhidaoauto.map.sdk.open.renders.marker.BatchMarkerOptions import com.zhidaoauto.map.sdk.open.renders.marker.Marker +import com.zhidaoauto.map.sdk.open.renders.marker.MarkerOptions import com.zhidaoauto.map.sdk.open.renders.marker.MarkerSimpleData import com.zhidaoauto.map.sdk.open.renders.marker.OnMarkClickListener import com.zhidaoauto.map.sdk.open.view.MapAutoView @@ -66,6 +68,20 @@ class AMapWrapper(map: MapAutoViewHelper?, mapView: MapAutoView, controller: IMo return AMapPointWrapper(options.id, delegate, mMapView) } + override fun addAnimPoint(options: Point.Options) { + if (!checkAMap()) { + return + } + val markerOptions = MarkerOptions(options.id, mMapView.getMapController()).setGps(true) + .position(LonLatPoint(options.longitude, options.latitude, options.rotate.toDouble())) + val marker = Marker(markerOptions,mMapView.getMapController(), + mMapView.getMapController()?.getMarkerCall() + ) + marker.setDisplayAnimEnable(true) + marker.setAnimResource(options.animRes) + marker.setAnimScale(options.animScale) + } + override fun addLine(options: Polyline.Options): IMapPolylineOverlay? { if (!checkAMap()) { return null diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt b/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt index 21fb97b044..9ec324879b 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt +++ b/libraries/mogo-map/src/main/java/com/mogo/map/overlay/MoGoOverlayManagerImpl.kt @@ -5,6 +5,7 @@ import android.view.View import com.mogo.eagle.core.data.map.* import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.utilcode.util.* +import com.mogo.map.MogoMap import com.mogo.map.overlay.point.Point.Options import com.mogo.map.MogoMap.Companion.mapInstance import com.mogo.map.overlay.core.* @@ -49,13 +50,15 @@ internal class MoGoOverlayManagerImpl: IMoGoOverlayManager { key.delegate = point it.setToTop() if (options.moveToCenter) { + val wgs84 = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84() + val cj02 = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() moveToCenter( mapTag, options.id, options.longitude, options.latitude, - if (options.isGps) CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().longitude else CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().longitude, - if (options.isGps) CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84().latitude else CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().latitude + if (options.isGps) wgs84.longitude else cj02.longitude, + if (options.isGps) wgs84.latitude else cj02.latitude ) } } @@ -452,4 +455,8 @@ internal class MoGoOverlayManagerImpl: IMoGoOverlayManager { it.value.setVisible(false) } } + + override fun updateAnimPoint(options: Options, mapTag:String) { + mapInstance.getMogoMap(mapTag)?.addAnimPoint(options) + } } \ No newline at end of file diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/utils/ObjectUtils.java b/libraries/mogo-map/src/main/java/com/mogo/map/utils/ObjectUtils.java index 3165ab8761..192a598c6d 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/utils/ObjectUtils.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/utils/ObjectUtils.java @@ -3,7 +3,6 @@ package com.mogo.map.utils; import android.graphics.Bitmap; import android.graphics.Color; import android.text.TextUtils; -import android.util.Log; import android.view.View; import com.mogo.eagle.core.data.config.FunctionBuildConfig; @@ -65,9 +64,6 @@ public class ObjectUtils { .controlAngle(opt.isControlAngle()) .rotateAngle(opt.getRotate()) .setFlat(opt.isFlat()) -// .setAnimResource() -// .setDisplayAnimEnable() -// .setAnimScale() .visible(opt.isVisible()) .infoWindowEnable(opt.isInfoWindowEnable()) .scale(opt.getScale())