Merge remote-tracking branch 'origin/demo/shunyi_vr_map' into demo/shunyi_vr_map

This commit is contained in:
tongchenfei
2020-10-29 16:43:45 +08:00
16 changed files with 1673 additions and 9 deletions

View File

@@ -55,7 +55,7 @@ dependencies {
implementation project(':foudations:mogo-commons')
}
implementation 'com.zhidaoauto.machine:map:1.0.0-online-26'
implementation 'com.zhidaoauto.machine:map:1.0.0-online-28'
}
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()

View File

@@ -8,6 +8,7 @@ import android.view.View;
import android.widget.TextView;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.network.Utils;
import com.mogo.map.MogoLatLng;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.MogoMarkerOptions;
@@ -91,7 +92,7 @@ class SnapshotSetDataDrawer {
}
IMogoMarker marker = null;
String uniqueKey = cloudRoadData.getUniqueKey();
if ( TextUtils.isEmpty( uniqueKey ) ) {
if ( TextUtils.isEmpty( uniqueKey ) || TextUtils.equals( uniqueKey, Utils.getSn() ) ) {
continue;
}
if ( mCloudSnapshotMarkersCaches.containsKey( uniqueKey ) ) {

View File

@@ -50,6 +50,8 @@ public class V2XPushMessageEntity implements Serializable {
private List<double[]> moveTrack;
private List<double[]> recommendPolyline;
public int getViewType() {
return viewType;
}
@@ -289,6 +291,14 @@ public class V2XPushMessageEntity implements Serializable {
this.moveTrack = moveTrack;
}
public List<double[]> getRecommendPolyline() {
return recommendPolyline;
}
public void setRecommendPolyline(List<double[]> recommendPolyline) {
this.recommendPolyline = recommendPolyline;
}
@Override
public boolean equals(Object o) {
if (this == o) {

View File

@@ -156,19 +156,19 @@ public class V2XMarkerAdapter {
*/
public static Bitmap getV2XVRRoadEventViewPng(V2XPushMessageEntity alarmMessage) {
Bitmap bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
R.drawable.v2x_vr_ziche);
R.drawable.v_to_x_warning_car_orange);
switch (alarmMessage.getSceneId()) {
case "200001"://后方VIP车辆提示
bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
R.drawable.v2x_duixiang_laiche_che);
// bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
// R.drawable.v2x_duixiang_laiche_che);
break;
case "200002"://前车急刹
break;
case "200003"://后方危险车辆预警
break;
case "200004"://逆向车辆路线预判
bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
R.drawable.v2x_duixiang_laiche_che);
// bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
// R.drawable.v2x_duixiang_laiche_che);
break;
case "200005"://VIP变灯通行
break;

View File

@@ -96,7 +96,7 @@ public class V2XPushVREventMarker implements IV2XMarker<V2XPushMessageEntity> {
colors.add(0xFFFA8C34);
// 线条粗细,渐变,渐变色值
options.width(10).useGradient(true).colorValues(colors);
options.width(15).useGradient(true).colorValues(colors);
for (double[] doubles : entity.getPolyline()) {
options.add(doubles[0], doubles[1]);

View File

@@ -35,7 +35,7 @@ public class V2XPushVREventScenario
synchronized (V2XPushVREventScenario.class) {
if (mV2XPushEventScenario == null) {
mV2XPushEventScenario = new V2XPushVREventScenario();
mV2XPushEventScenario.setV2XMarker(new V2XPushVREventMarker());
mV2XPushEventScenario.setV2XMarker(new V2XPushVRNiXiangEventMarker());
mV2XPushEventScenario.setV2XWindow(new V2XPushVREventWindow());
}
}

View File

@@ -0,0 +1,159 @@
package com.mogo.module.v2x.scenario.scene.pushVR;
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.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.List;
import static com.mogo.module.v2x.V2XConst.V2X_EVENT_ALARM_POI;
/**
* author : donghongyu
* e-mail : 1358506549@qq.com
* date : 2020/5/15 5:37 PM
* desc : 逆向来车
* version: 1.0
*/
public class V2XPushVRNiXiangEventMarker implements IV2XMarker<V2XPushMessageEntity> {
private final String TAG = "V2XPushVREventMarker";
private static IMogoPolyline mMogoPolyline;
private static IMogoMarker mAlarmInfoMarker;
@Override
public void drawPOI(V2XPushMessageEntity entity) {
Logger.w(V2XConst.MODULE_NAME + "_" + TAG, "drawPOI 绘制VR Marker");
try {
// 清除道路事件
V2XServiceManager
.getMoGoV2XMarkerManager().clearALLPOI();
if (mMogoPolyline != null) {
mMogoPolyline.remove();
}
drawableEventMarker(entity);
// 绘制引导线
drawablePloyLine(entity);
drawableRecommendPolyline(entity);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 绘制事件点
*
* @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);
}
/**
* 绘制引导线
*
* @param entity
*/
void drawablePloyLine(V2XPushMessageEntity entity) {
// 连接线参数
MogoPolylineOptions options = new MogoPolylineOptions();
// 渐变色
List<Integer> colors = new ArrayList<>();
colors.add(0xFFFA8C34);
colors.add(0xFFBD6D36);
colors.add(0xFFFA8C34);
// 线条粗细,渐变,渐变色值
options.width(15).useGradient(true).color(0xFFFA8C34);
for (double[] doubles : entity.getPolyline()) {
options.add(doubles[0], doubles[1]);
}
// 绘制线的对象
mMogoPolyline = V2XServiceManager.getMogoOverlayManager().addPolyline(options);
}
/**
* 绘制推荐引导线
*
* @param entity
*/
void drawableRecommendPolyline(V2XPushMessageEntity entity) {
// 连接线参数
MogoPolylineOptions options = new MogoPolylineOptions();
// 渐变色
List<Integer> colors = new ArrayList<>();
colors.add(0xFFF95959);
colors.add(0xFF942B48);
colors.add(0xFFCB253A);
// 线条粗细,渐变,渐变色值
options.width(15).useGradient(true).color(0xFFCB253A);
for (double[] doubles : entity.getRecommendPolyline()) {
options.add(doubles[0], doubles[1]);
}
// 绘制线的对象
mMogoPolyline = V2XServiceManager.getMogoOverlayManager().addPolyline(options);
}
@Override
public void clearPOI() {
// 锁车就是将地图视图移植中心点,因为行驶中的车和地图要相对的跟随
MarkerUtils.resetMapZoom(16);
// 移除线
clearLine();
// 移除事件POI
clearAlarmPOI();
// 绘制上次的数据
V2XServiceManager.getMoGoV2XMarkerManager().drawableLastAllPOI();
}
void clearAlarmPOI() {
if (mAlarmInfoMarker != null) {
mAlarmInfoMarker.remove();
}
}
public void clearLine() {
if (mMogoPolyline != null) {
mMogoPolyline.remove();
mMogoPolyline = null;
V2XServiceManager.getV2XStatusManager().setAlarmInfo(null);
}
}
}

View File

@@ -409,6 +409,172 @@
40.196424
]
],
"recommendPolyline": [
[
116.731239,
40.196264
],
[
116.731082,
40.19622
],
[
116.730919,
40.196173
],
[
116.730762,
40.196125
],
[
116.730596,
40.196069
],
[
116.730437,
40.196013
],
[
116.730296,
40.195959
],
[
116.730122,
40.19589
],
[
116.729956,
40.195823
],
[
116.729841,
40.195777
],
[
116.729797,
40.195759
],
[
116.729696,
40.195721
],
[
116.729624,
40.195695
],
[
116.729498,
40.195649
],
[
116.729464,
40.195637
],
[
116.729366,
40.195604
],
[
116.729294,
40.195583
],
[
116.729122,
40.195533
],
[
116.728954,
40.195489
],
[
116.728781,
40.195448
],
[
116.728616,
40.195412
],
[
116.728442,
40.195376
],
[
116.728269,
40.195341
],
[
116.728087,
40.195311
],
[
116.727909,
40.195283
],
[
116.727746,
40.195263
],
[
116.727561,
40.195242
],
[
116.727386,
40.195226
],
[
116.727213,
40.195217
],
[
116.727036,
40.19521
],
[
116.726865,
40.195206
],
[
116.72669,
40.195206
],
[
116.726512,
40.195207
],
[
116.726333,
40.195209
],
[
116.726144,
40.195211
],
[
116.725959,
40.195214
],
[
116.725771,
40.195217
],
[
116.725588,
40.195221
],
[
116.725411,
40.195225
],
[
116.725201,
40.195228
],
[
116.72509,
40.195228
]
],
"moveTrack": [
[
116.731239,

View File

@@ -409,6 +409,172 @@
40.196424
]
],
"recommendPolyline": [
[
116.731239,
40.196264
],
[
116.731082,
40.19622
],
[
116.730919,
40.196173
],
[
116.730762,
40.196125
],
[
116.730596,
40.196069
],
[
116.730437,
40.196013
],
[
116.730296,
40.195959
],
[
116.730122,
40.19589
],
[
116.729956,
40.195823
],
[
116.729841,
40.195777
],
[
116.729797,
40.195759
],
[
116.729696,
40.195721
],
[
116.729624,
40.195695
],
[
116.729498,
40.195649
],
[
116.729464,
40.195637
],
[
116.729366,
40.195604
],
[
116.729294,
40.195583
],
[
116.729122,
40.195533
],
[
116.728954,
40.195489
],
[
116.728781,
40.195448
],
[
116.728616,
40.195412
],
[
116.728442,
40.195376
],
[
116.728269,
40.195341
],
[
116.728087,
40.195311
],
[
116.727909,
40.195283
],
[
116.727746,
40.195263
],
[
116.727561,
40.195242
],
[
116.727386,
40.195226
],
[
116.727213,
40.195217
],
[
116.727036,
40.19521
],
[
116.726865,
40.195206
],
[
116.72669,
40.195206
],
[
116.726512,
40.195207
],
[
116.726333,
40.195209
],
[
116.726144,
40.195211
],
[
116.725959,
40.195214
],
[
116.725771,
40.195217
],
[
116.725588,
40.195221
],
[
116.725411,
40.195225
],
[
116.725201,
40.195228
],
[
116.72509,
40.195228
]
],
"moveTrack": [
[
116.731239,

View File

@@ -409,6 +409,172 @@
40.196424
]
],
"recommendPolyline": [
[
116.731239,
40.196264
],
[
116.731082,
40.19622
],
[
116.730919,
40.196173
],
[
116.730762,
40.196125
],
[
116.730596,
40.196069
],
[
116.730437,
40.196013
],
[
116.730296,
40.195959
],
[
116.730122,
40.19589
],
[
116.729956,
40.195823
],
[
116.729841,
40.195777
],
[
116.729797,
40.195759
],
[
116.729696,
40.195721
],
[
116.729624,
40.195695
],
[
116.729498,
40.195649
],
[
116.729464,
40.195637
],
[
116.729366,
40.195604
],
[
116.729294,
40.195583
],
[
116.729122,
40.195533
],
[
116.728954,
40.195489
],
[
116.728781,
40.195448
],
[
116.728616,
40.195412
],
[
116.728442,
40.195376
],
[
116.728269,
40.195341
],
[
116.728087,
40.195311
],
[
116.727909,
40.195283
],
[
116.727746,
40.195263
],
[
116.727561,
40.195242
],
[
116.727386,
40.195226
],
[
116.727213,
40.195217
],
[
116.727036,
40.19521
],
[
116.726865,
40.195206
],
[
116.72669,
40.195206
],
[
116.726512,
40.195207
],
[
116.726333,
40.195209
],
[
116.726144,
40.195211
],
[
116.725959,
40.195214
],
[
116.725771,
40.195217
],
[
116.725588,
40.195221
],
[
116.725411,
40.195225
],
[
116.725201,
40.195228
],
[
116.72509,
40.195228
]
],
"moveTrack": [
[
116.731239,

View File

@@ -410,6 +410,172 @@
40.196424
]
],
"recommendPolyline": [
[
116.731239,
40.196264
],
[
116.731082,
40.19622
],
[
116.730919,
40.196173
],
[
116.730762,
40.196125
],
[
116.730596,
40.196069
],
[
116.730437,
40.196013
],
[
116.730296,
40.195959
],
[
116.730122,
40.19589
],
[
116.729956,
40.195823
],
[
116.729841,
40.195777
],
[
116.729797,
40.195759
],
[
116.729696,
40.195721
],
[
116.729624,
40.195695
],
[
116.729498,
40.195649
],
[
116.729464,
40.195637
],
[
116.729366,
40.195604
],
[
116.729294,
40.195583
],
[
116.729122,
40.195533
],
[
116.728954,
40.195489
],
[
116.728781,
40.195448
],
[
116.728616,
40.195412
],
[
116.728442,
40.195376
],
[
116.728269,
40.195341
],
[
116.728087,
40.195311
],
[
116.727909,
40.195283
],
[
116.727746,
40.195263
],
[
116.727561,
40.195242
],
[
116.727386,
40.195226
],
[
116.727213,
40.195217
],
[
116.727036,
40.19521
],
[
116.726865,
40.195206
],
[
116.72669,
40.195206
],
[
116.726512,
40.195207
],
[
116.726333,
40.195209
],
[
116.726144,
40.195211
],
[
116.725959,
40.195214
],
[
116.725771,
40.195217
],
[
116.725588,
40.195221
],
[
116.725411,
40.195225
],
[
116.725201,
40.195228
],
[
116.72509,
40.195228
]
],
"moveTrack": [
[
116.731239,

View File

@@ -410,6 +410,172 @@
40.196424
]
],
"recommendPolyline": [
[
116.731239,
40.196264
],
[
116.731082,
40.19622
],
[
116.730919,
40.196173
],
[
116.730762,
40.196125
],
[
116.730596,
40.196069
],
[
116.730437,
40.196013
],
[
116.730296,
40.195959
],
[
116.730122,
40.19589
],
[
116.729956,
40.195823
],
[
116.729841,
40.195777
],
[
116.729797,
40.195759
],
[
116.729696,
40.195721
],
[
116.729624,
40.195695
],
[
116.729498,
40.195649
],
[
116.729464,
40.195637
],
[
116.729366,
40.195604
],
[
116.729294,
40.195583
],
[
116.729122,
40.195533
],
[
116.728954,
40.195489
],
[
116.728781,
40.195448
],
[
116.728616,
40.195412
],
[
116.728442,
40.195376
],
[
116.728269,
40.195341
],
[
116.728087,
40.195311
],
[
116.727909,
40.195283
],
[
116.727746,
40.195263
],
[
116.727561,
40.195242
],
[
116.727386,
40.195226
],
[
116.727213,
40.195217
],
[
116.727036,
40.19521
],
[
116.726865,
40.195206
],
[
116.72669,
40.195206
],
[
116.726512,
40.195207
],
[
116.726333,
40.195209
],
[
116.726144,
40.195211
],
[
116.725959,
40.195214
],
[
116.725771,
40.195217
],
[
116.725588,
40.195221
],
[
116.725411,
40.195225
],
[
116.725201,
40.195228
],
[
116.72509,
40.195228
]
],
"moveTrack": [
[
116.731239,

View File

@@ -409,6 +409,172 @@
40.196424
]
],
"recommendPolyline": [
[
116.731239,
40.196264
],
[
116.731082,
40.19622
],
[
116.730919,
40.196173
],
[
116.730762,
40.196125
],
[
116.730596,
40.196069
],
[
116.730437,
40.196013
],
[
116.730296,
40.195959
],
[
116.730122,
40.19589
],
[
116.729956,
40.195823
],
[
116.729841,
40.195777
],
[
116.729797,
40.195759
],
[
116.729696,
40.195721
],
[
116.729624,
40.195695
],
[
116.729498,
40.195649
],
[
116.729464,
40.195637
],
[
116.729366,
40.195604
],
[
116.729294,
40.195583
],
[
116.729122,
40.195533
],
[
116.728954,
40.195489
],
[
116.728781,
40.195448
],
[
116.728616,
40.195412
],
[
116.728442,
40.195376
],
[
116.728269,
40.195341
],
[
116.728087,
40.195311
],
[
116.727909,
40.195283
],
[
116.727746,
40.195263
],
[
116.727561,
40.195242
],
[
116.727386,
40.195226
],
[
116.727213,
40.195217
],
[
116.727036,
40.19521
],
[
116.726865,
40.195206
],
[
116.72669,
40.195206
],
[
116.726512,
40.195207
],
[
116.726333,
40.195209
],
[
116.726144,
40.195211
],
[
116.725959,
40.195214
],
[
116.725771,
40.195217
],
[
116.725588,
40.195221
],
[
116.725411,
40.195225
],
[
116.725201,
40.195228
],
[
116.72509,
40.195228
]
],
"moveTrack": [
[
116.731239,

View File

@@ -409,6 +409,172 @@
40.196424
]
],
"recommendPolyline": [
[
116.731239,
40.196264
],
[
116.731082,
40.19622
],
[
116.730919,
40.196173
],
[
116.730762,
40.196125
],
[
116.730596,
40.196069
],
[
116.730437,
40.196013
],
[
116.730296,
40.195959
],
[
116.730122,
40.19589
],
[
116.729956,
40.195823
],
[
116.729841,
40.195777
],
[
116.729797,
40.195759
],
[
116.729696,
40.195721
],
[
116.729624,
40.195695
],
[
116.729498,
40.195649
],
[
116.729464,
40.195637
],
[
116.729366,
40.195604
],
[
116.729294,
40.195583
],
[
116.729122,
40.195533
],
[
116.728954,
40.195489
],
[
116.728781,
40.195448
],
[
116.728616,
40.195412
],
[
116.728442,
40.195376
],
[
116.728269,
40.195341
],
[
116.728087,
40.195311
],
[
116.727909,
40.195283
],
[
116.727746,
40.195263
],
[
116.727561,
40.195242
],
[
116.727386,
40.195226
],
[
116.727213,
40.195217
],
[
116.727036,
40.19521
],
[
116.726865,
40.195206
],
[
116.72669,
40.195206
],
[
116.726512,
40.195207
],
[
116.726333,
40.195209
],
[
116.726144,
40.195211
],
[
116.725959,
40.195214
],
[
116.725771,
40.195217
],
[
116.725588,
40.195221
],
[
116.725411,
40.195225
],
[
116.725201,
40.195228
],
[
116.72509,
40.195228
]
],
"moveTrack": [
[
116.731239,

View File

@@ -409,6 +409,172 @@
40.196424
]
],
"recommendPolyline": [
[
116.731239,
40.196264
],
[
116.731082,
40.19622
],
[
116.730919,
40.196173
],
[
116.730762,
40.196125
],
[
116.730596,
40.196069
],
[
116.730437,
40.196013
],
[
116.730296,
40.195959
],
[
116.730122,
40.19589
],
[
116.729956,
40.195823
],
[
116.729841,
40.195777
],
[
116.729797,
40.195759
],
[
116.729696,
40.195721
],
[
116.729624,
40.195695
],
[
116.729498,
40.195649
],
[
116.729464,
40.195637
],
[
116.729366,
40.195604
],
[
116.729294,
40.195583
],
[
116.729122,
40.195533
],
[
116.728954,
40.195489
],
[
116.728781,
40.195448
],
[
116.728616,
40.195412
],
[
116.728442,
40.195376
],
[
116.728269,
40.195341
],
[
116.728087,
40.195311
],
[
116.727909,
40.195283
],
[
116.727746,
40.195263
],
[
116.727561,
40.195242
],
[
116.727386,
40.195226
],
[
116.727213,
40.195217
],
[
116.727036,
40.19521
],
[
116.726865,
40.195206
],
[
116.72669,
40.195206
],
[
116.726512,
40.195207
],
[
116.726333,
40.195209
],
[
116.726144,
40.195211
],
[
116.725959,
40.195214
],
[
116.725771,
40.195217
],
[
116.725588,
40.195221
],
[
116.725411,
40.195225
],
[
116.725201,
40.195228
],
[
116.72509,
40.195228
]
],
"moveTrack": [
[
116.731239,

View File

@@ -409,6 +409,172 @@
40.196424
]
],
"recommendPolyline": [
[
116.731239,
40.196264
],
[
116.731082,
40.19622
],
[
116.730919,
40.196173
],
[
116.730762,
40.196125
],
[
116.730596,
40.196069
],
[
116.730437,
40.196013
],
[
116.730296,
40.195959
],
[
116.730122,
40.19589
],
[
116.729956,
40.195823
],
[
116.729841,
40.195777
],
[
116.729797,
40.195759
],
[
116.729696,
40.195721
],
[
116.729624,
40.195695
],
[
116.729498,
40.195649
],
[
116.729464,
40.195637
],
[
116.729366,
40.195604
],
[
116.729294,
40.195583
],
[
116.729122,
40.195533
],
[
116.728954,
40.195489
],
[
116.728781,
40.195448
],
[
116.728616,
40.195412
],
[
116.728442,
40.195376
],
[
116.728269,
40.195341
],
[
116.728087,
40.195311
],
[
116.727909,
40.195283
],
[
116.727746,
40.195263
],
[
116.727561,
40.195242
],
[
116.727386,
40.195226
],
[
116.727213,
40.195217
],
[
116.727036,
40.19521
],
[
116.726865,
40.195206
],
[
116.72669,
40.195206
],
[
116.726512,
40.195207
],
[
116.726333,
40.195209
],
[
116.726144,
40.195211
],
[
116.725959,
40.195214
],
[
116.725771,
40.195217
],
[
116.725588,
40.195221
],
[
116.725411,
40.195225
],
[
116.725201,
40.195228
],
[
116.72509,
40.195228
]
],
"moveTrack": [
[
116.731239,