开始研发最优路线推荐功能
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user