开始研发最优路线推荐功能

This commit is contained in:
董宏宇
2021-03-26 13:51:40 +08:00
parent 3335bd8402
commit 0f147edec9
7 changed files with 20 additions and 87 deletions

View File

@@ -1,17 +1,6 @@
package com.mogo.module.common.drawer;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.map.MogoLatLng;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.overlay.IMogoPolyline;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.constants.DataTypes;
import com.mogo.module.common.drawer.marker.MapVrMarkerView;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import java.util.ArrayList;
import java.util.List;
/**
* @author donghongyu
@@ -20,11 +9,10 @@ import java.util.List;
*/
public class PushRoadConditionDrawer {
private static final String TAG = "OnlineCarDrawer";
private static final String TAG = "PushRoadConditionDrawer";
private static volatile PushRoadConditionDrawer sInstance;
private static IMogoPolyline mMogoPolyline;
private static IMogoMarker mMogoMarker;
private PushRoadConditionDrawer() {
}
@@ -41,57 +29,11 @@ public class PushRoadConditionDrawer {
}
public synchronized void release() {
clearMarker();
clearPolyline();
mMogoPolyline = null;
mMogoMarker = null;
sInstance = null;
}
private Object readResolve() {
// 阻止反序列化,必须实现 Serializable 接口
return sInstance;
}
/**
* 绘制路况事件Marker移动轨迹
*/
public void drawRoadConditionMarker(V2XPushMessageEntity entity) {
// 道路事件
MogoMarkerOptions options = new MogoMarkerOptions()
.object(entity)
.latitude(entity.getLat())
.longitude(entity.getLon());
options.anchor(0.5f, 0.5f);
options.icon(MapVrMarkerView.getInstance().getBitmap(entity.getSceneId()));
mMogoMarker =
MogoApisHandler
.getInstance()
.getApis()
.getMapServiceApi()
.getMarkerManager(AbsMogoApplication.getApp())
.addMarker(DataTypes.TYPE_MARKER_PUSH_DATA, options);
List<MogoLatLng> points = new ArrayList<>();
for (double[] doubles : entity.getMoveTrack()) {
points.add(new MogoLatLng(doubles[1], doubles[0]));
}
mMogoMarker.startSmooth(points, 10);
}
public void clearMarker() {
if (mMogoMarker != null) {
mMogoMarker.remove();
}
}
public void clearPolyline() {
if (mMogoPolyline != null) {
mMogoPolyline.remove();

View File

@@ -48,8 +48,6 @@ public class V2XPushMessageEntity implements Serializable {
private List<double[]> polyline;
private List<double[]> moveTrack;
private List<double[]> recommendPolyline;
public int getViewType() {
@@ -283,14 +281,6 @@ public class V2XPushMessageEntity implements Serializable {
this.polyline = polyline;
}
public List<double[]> getMoveTrack() {
return moveTrack;
}
public void setMoveTrack(List<double[]> moveTrack) {
this.moveTrack = moveTrack;
}
public List<double[]> getRecommendPolyline() {
return recommendPolyline;
}