下沉VR场景的Marker绘制

This commit is contained in:
董宏宇
2020-10-30 14:33:35 +08:00
parent a7b8adbb0a
commit d974f9913b
4 changed files with 201 additions and 36 deletions

View File

@@ -1,26 +1,19 @@
package com.mogo.module.v2x.scenario.scene.pushVR;
import android.util.Log;
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.map.overlay.MogoPolylineOptions;
import com.mogo.module.common.drawer.PushRoadConditionDrawer;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.marker.V2XMarkerAdapter;
import com.mogo.module.v2x.scenario.view.IV2XMarker;
import com.mogo.module.v2x.utils.MarkerUtils;
import com.mogo.utils.logger.Logger;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import static com.mogo.module.v2x.V2XConst.V2X_EVENT_ALARM_POI;
/**
* author : donghongyu
* e-mail : 1358506549@qq.com
@@ -46,7 +39,9 @@ public class V2XPushVREventMarker implements IV2XMarker<V2XPushMessageEntity> {
if (mMogoPolyline != null) {
mMogoPolyline.remove();
}
drawableEventMarker(entity);
// 绘制事件点Marker
PushRoadConditionDrawer.getInstance().drawRoadConditionMarker(entity);
// 绘制引导线
drawablePloyLine(entity);
@@ -56,31 +51,6 @@ public class V2XPushVREventMarker implements IV2XMarker<V2XPushMessageEntity> {
}
}
/**
* 绘制事件点
*
* @param entity
*/
void drawableEventMarker(V2XPushMessageEntity entity) {
// 道路事件
MogoMarkerOptions optionsRipple = new MogoMarkerOptions()
.object(entity)
.latitude(entity.getLat())
.longitude(entity.getLon());
optionsRipple.anchor(0.5f, 0.5f);
optionsRipple.icon(V2XMarkerAdapter.getV2XVRRoadEventViewPng(entity));
mAlarmInfoMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_EVENT_ALARM_POI, optionsRipple);
List<MogoLatLng> points = new ArrayList<>();
for (double[] doubles : entity.getMoveTrack()) {
points.add(new MogoLatLng(doubles[1], doubles[0]));
}
mAlarmInfoMarker.startSmooth(points, 10);
}
/**
* 绘制引导线
*
@@ -97,7 +67,7 @@ public class V2XPushVREventMarker implements IV2XMarker<V2XPushMessageEntity> {
colors.add(0xFFFA8C34);
// 线条粗细,渐变,渐变色值
options.width(15).useGradient(true).color(0xFFFA8C34);
options.width(15).useGradient(true).color(0xFF1F7EFF);
for (double[] doubles : entity.getPolyline()) {
options.add(doubles[0], doubles[1]);
@@ -123,7 +93,7 @@ public class V2XPushVREventMarker implements IV2XMarker<V2XPushMessageEntity> {
colors.add(0xFFCB253A);
// 线条粗细,渐变,渐变色值
options.width(15).useGradient(true).color(0xFFCB253A);
options.width(15).useGradient(true).color(0xFFEF3A3A);
for (double[] doubles : entity.getRecommendPolyline()) {
options.add(doubles[0], doubles[1]);