This commit is contained in:
zhongchao
2021-05-07 20:33:45 +08:00
44 changed files with 253 additions and 863 deletions

View File

@@ -3,6 +3,7 @@
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />

View File

@@ -10,8 +10,9 @@ import com.mogo.commons.network.Utils;
public class QueryLeaveAwayPassengersRequest {
private String sn;
private int endSiteId;
private int orderDispatchType = 4;
public QueryLeaveAwayPassengersRequest( int siteId ) {
public QueryLeaveAwayPassengersRequest(int siteId) {
this.sn = Utils.getSn();
this.endSiteId = siteId;
}
@@ -20,7 +21,7 @@ public class QueryLeaveAwayPassengersRequest {
return sn;
}
public void setSn( String sn ) {
public void setSn(String sn) {
this.sn = sn;
}
@@ -31,4 +32,12 @@ public class QueryLeaveAwayPassengersRequest {
public void setEndSiteId(int endSiteId) {
this.endSiteId = endSiteId;
}
public int getOrderDispatchType() {
return orderDispatchType;
}
public void setOrderDispatchType(int orderDispatchType) {
this.orderDispatchType = orderDispatchType;
}
}

View File

@@ -221,9 +221,11 @@ public class OchBusFragment extends BaseOchFragment< OchBusFragment, OchBusPrese
if ( launch ) {
tvOperationStatus.setText( "收车" );
showSlidePanle("准备出发");
showPanel();
} else {
tvOperationStatus.setText( "出车" );
hideSlidePanel();
hidPanel();
}
}
}

View File

@@ -26,27 +26,27 @@
},
{
"lineId": 1.0,
"siteId": 1.0,
"siteName": "万集东门站",
"siteId": 2.0,
"siteName": "市政府前街18号",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.7374429112,
40.2023987087
116.729134342,
40.1953113732
],
"lon": 116.7374429112,
"lat": 40.2023987087,
"siteDesc": "万集东门站",
"lon": 116.729134342,
"lat": 40.1953113732,
"siteDesc": "市政府前街18号",
"siteState": 1.0,
"isCurrentSite": 1.0,
"siteColor": 1.0,
"isCurrentSite": 3.0,
"siteColor": 2.0,
"peoples": "0",
"ifStop": 1.0
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 2.0,
"siteId": 3.0,
"siteName": "顺密路口站",
"cityCode": "010",
"areaCode": "1001",
@@ -59,486 +59,6 @@
"lat": 40.1940181096,
"siteDesc": "顺密路口站",
"siteState": 1.0,
"isCurrentSite": 3.0,
"siteColor": 2.0,
"peoples": "0",
"ifStop": 1.0
},
{
"lineId": 1.0,
"siteId": 2.0,
"siteName": "顺密路口站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.723146,
40.179637
],
"lon": 116.723146,
"lat": 40.179637,
"siteDesc": "顺密路口站",
"siteState": 1.0,
"isCurrentSite": 3.0,
"siteColor": 2.0,
"peoples": "0",
"ifStop": 1.0
},
{
"lineId": 2.0,
"siteId": 2.0,
"siteName": "顺密路口站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.738835502,
40.2023958306
],
"lon": 116.738835502,
"lat": 40.2023958306,
"siteDesc": "顺密路口站",
"siteState": 1.0,
"isCurrentSite": 3.0,
"siteColor": 2.0,
"peoples": "0",
"ifStop": 1.0
},
{
"lineId": 1.0,
"siteId": 3.0,
"siteName": "第三站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.723232,
40.180637
],
"lon": 116.723232,
"lat": 40.180637,
"siteDesc": "这里是第三站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 4.0,
"siteName": "第四站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.72343,
40.182092
],
"lon": 116.72343,
"lat": 40.182092,
"siteDesc": "这里是第四站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 5.0,
"siteName": "第五站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.7235,
40.182699
],
"lon": 116.7235,
"lat": 40.182699,
"siteDesc": "这里是第五站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 6.0,
"siteName": "第六站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.723789,
40.185416
],
"lon": 116.723789,
"lat": 40.185416,
"siteDesc": "这里是第六站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 7.0,
"siteName": "第七站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.723977,
40.18701
],
"lon": 116.723977,
"lat": 40.18701,
"siteDesc": "这里是第七站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 8.0,
"siteName": "第八站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.72431,
40.190182
],
"lon": 116.72431,
"lat": 40.190182,
"siteDesc": "这里是第八站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 9.0,
"siteName": "第九站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.72431,
40.190182
],
"lon": 116.72431,
"lat": 40.190182,
"siteDesc": "这里是第九站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 10.0,
"siteName": "第十站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.724503,
40.192026
],
"lon": 116.724503,
"lat": 40.192026,
"siteDesc": "这里是第十站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 11.0,
"siteName": "第十一站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.724873,
40.19489
],
"lon": 116.724873,
"lat": 40.19489,
"siteDesc": "这里是第十一站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 14.0,
"siteName": "第十四站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.728258,
40.195255
],
"lon": 116.728258,
"lat": 40.195255,
"siteDesc": "这里是第十四站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 15.0,
"siteName": "第十五站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.729288,
40.195476
],
"lon": 116.729288,
"lat": 40.195476,
"siteDesc": "这里是第十五站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 16.0,
"siteName": "第十六站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.730554,
40.195952
],
"lon": 116.730554,
"lat": 40.195952,
"siteDesc": "这里是第十六站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 17.0,
"siteName": "第十七站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.732227,
40.196374
],
"lon": 116.732227,
"lat": 40.196374,
"siteDesc": "这里是第十七站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 18.0,
"siteName": "第十八站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.732978,
40.196443
],
"lon": 116.732978,
"lat": 40.196443,
"siteDesc": "这里是第十八站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 19.0,
"siteName": "第十九站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.733671,
40.196497
],
"lon": 116.733671,
"lat": 40.196497,
"siteDesc": "这里是第十九站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 20.0,
"siteName": "第二十站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.736852,
40.196493
],
"lon": 116.736852,
"lat": 40.196493,
"siteDesc": "这里是第二十站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 21.0,
"siteName": "第二十一站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.737866,
40.19646
],
"lon": 116.737866,
"lat": 40.19646,
"siteDesc": "这里是第二十一站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 22.0,
"siteName": "第二十二站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.745177,
40.19646
],
"lon": 116.745177,
"lat": 40.19646,
"siteDesc": "这里是第二十二站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 1.0,
"siteId": 23.0,
"siteName": "第二十三站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.750644,
40.196402
],
"lon": 116.750644,
"lat": 40.196402,
"siteDesc": "这里是第二十三站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 10000.0,
"siteId": 10000.0,
"siteName": "0409第一站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.7389159039,
40.1992312592
],
"lon": 116.7389159039,
"lat": 40.1992312592,
"siteDesc": "0409这里第一站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 10000.0,
"siteId": 10000.0,
"siteName": "0409第一站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.7389159039,
40.1992312592
],
"lon": 116.7389159039,
"lat": 40.1992312592,
"siteDesc": "0409这里第一站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",
"ifStop": 0.0
},
{
"lineId": 10001.0,
"siteId": 10002.0,
"siteName": "0409第二站",
"cityCode": "010",
"areaCode": "1001",
"areaName": "顺义区",
"currentLocation": [
116.7375553739,
40.1992677344
],
"lon": 116.7375553739,
"lat": 40.1992677344,
"siteDesc": "这里是第二站",
"siteState": 1.0,
"isCurrentSite": 0.0,
"siteColor": 0.0,
"peoples": "0",

View File

@@ -74,6 +74,7 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i
mEndStationName = findViewById( R.id.module_och_taxi_order_end_station );
mDistance = findViewById( R.id.module_och_taxi_order_distance );
showPanel();
initListeners();
updateOrderStatus();
if ( MogoApisHandler.getInstance()

View File

@@ -2,9 +2,8 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/module_och_taxi_panel_bkg"
android:layout_width="300px"
android:layout_height="270px"
android:orientation="vertical">
<TextView

View File

@@ -1,11 +1,22 @@
{
"drivingRoutes": [
{
"lat": 40.197234,
"lon": 116.74143,
"siteId": "1.0",
"siteName": "万集东门站"
},
{
"lat": 40.1953113732,
"lon": 116.729134342,
"siteId": "2.0",
"siteName": "市政府前街18号"
}
],
"endStation": "第二十一站",
"endStation": "市政府前街18号",
"orderDispatchType": 1,
"orderNo": "CZ20210427000016",
"orderNo": "CZ20210430000005",
"orderType": 9,
"startStation": "0409第一站",
"travelDistance": 0.3
"startStation": "万集东门站",
"travelDistance": 0.6
}

View File

@@ -0,0 +1,10 @@
{
"endStation": "市政府前街18号",
"endStationId": "2.0",
"orderDispatchType": 7,
"orderNo": "CZ20210430000005",
"orderType": 9,
"startStation": "万集东门站",
"startStationId": "1.0",
"travelDistance": 0.6
}

View File

@@ -185,6 +185,18 @@ public abstract class BaseOchFragment<V extends IView, P extends Presenter<V>> e
});
}
public void hidPanel(){
getActivity().runOnUiThread(()->{
flStationPanelContainer.setVisibility(View.GONE);
});
}
public void showPanel(){
getActivity().runOnUiThread(()->{
flStationPanelContainer.setVisibility(View.VISIBLE);
});
}
public View getPanelView() {
return panelView;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/module_mogo_och_autopilot_status_bg_corner" />
<gradient
android:startColor="#323C6F"
android:endColor="#323C6F"
android:angle="315"/>
</shape>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners android:radius="17px" />
<solid android:color="#3B4577"/>
</shape>
</item>
<item
android:bottom="3px"
android:left="3px"
android:right="3px"
android:top="3px">
<shape>
<corners android:radius="17px" />
<solid android:color="#3B4577"/>
</shape>
</item>
</layer-list>

View File

@@ -4,16 +4,17 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="@dimen/module_mogo_och_margin_left"
android:paddingBottom="@dimen/module_mogo_och_margin_bottom">
<CheckedTextView
android:id="@+id/module_mogo_och_autopilot_status"
android:layout_width="@dimen/module_mogo_och_autopilot_status_bg_width"
android:layout_height="@dimen/module_mogo_och_autopilot_status_bg_height"
android:layout_marginLeft="@dimen/module_mogo_och_margin_left"
android:layout_marginTop="@dimen/module_mogo_och_station_panel_container_margin_top_no_call"
android:background="@drawable/module_mogo_och_autopilot_status_bg"
android:drawableLeft="@drawable/module_och_bus_ic_autopilot"
android:elevation="@dimen/dp_10"
android:gravity="center"
android:paddingLeft="35px"
android:text="自动驾驶"
@@ -30,9 +31,13 @@
android:layout_width="300px"
android:layout_height="270px"
android:layout_marginTop="16px"
android:background="@drawable/module_och_panel_bkg"
android:elevation="@dimen/dp_10"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="@+id/module_mogo_och_autopilot_status"
app:layout_constraintTop_toBottomOf="@id/module_mogo_och_autopilot_status"
app:layout_goneMarginTop="@dimen/module_mogo_och_station_panel_container_margin_top_no_call" />
app:layout_goneMarginTop="@dimen/module_mogo_och_station_panel_container_margin_top_no_call"
tools:visibility="visible" />
<CheckedTextView
android:id="@+id/module_mogo_och_operation_status"
@@ -40,13 +45,14 @@
android:layout_height="@dimen/module_mogo_och_operation_status_bg_height"
android:background="@drawable/module_mogo_och_operation_status_bg"
android:gravity="center"
android:elevation="@dimen/dp_10"
android:text="开启"
android:textAlignment="center"
android:textColor="@color/module_mogo_och_autopilot_text_color_selector"
android:textSize="@dimen/module_mogo_och_autopilot_status_text_size"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent" />
app:layout_constraintLeft_toLeftOf="@+id/module_mogo_och_autopilot_status" />
<com.mogo.och.view.SlidePanelView
android:id="@+id/module_mogo_och_slide_panel"

View File

@@ -83,4 +83,37 @@ public class ColorUtils {
return gradientColorArr;
}
/**
* 获取一组渐变色数组
*
* @param startColor 开始颜色
* @param endColor 结束颜色
* @param step 步长
* @return 生成的梯度颜色集合
*/
public static List<Integer> getGradientAlpha(String startColor, String centerColor, String endColor, int step) {
// 将HEX转为RGB
int[] sColor = hexToArgb(startColor);
int[] cColor = hexToArgb(centerColor);
int[] eColor = hexToArgb(endColor);
// 生成渐变色
List<Integer> gradientColorArr = new ArrayList<>();
if (step >= 3) {
// 开始颜色
gradientColorArr.add(Color.argb(sColor[0], sColor[1], sColor[2], sColor[3]));
// 中间颜色
for (int i = 0; i < (step - 2); i++) {
gradientColorArr.add(Color.argb(cColor[0], cColor[1], cColor[2], cColor[3]));
}
//结束颜色
gradientColorArr.add(Color.argb(eColor[0], eColor[1], eColor[2], eColor[3]));
} else {
gradientColorArr.add(Color.argb(cColor[0], cColor[1], cColor[2], cColor[3]));
}
return gradientColorArr;
}
}

View File

@@ -67,7 +67,7 @@ dependencies {
implementation project(':foudations:mogo-commons')
}
implementation 'com.zhidaoauto.machine:map:1.0.0-vr-8.5.16'
implementation 'com.zhidaoauto.machine:map:1.0.0-vr-8.5.21'
// implementation 'com.zhidaoauto.machine:map:1.0.0-vr-test-3.4'
}

View File

@@ -206,7 +206,7 @@ public class AMapViewWrapper implements IMogoMapView,
mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_ZOOM);
mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_ROTATE);
mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_3D);
mMapView.setMOnCameraChangeListener(this);
mMapView.setOnCameraChangeListener(this);
mMapView.setOnMapStyleListener(this);
mMapView.setOnMapViewVisualAngleChangeListener(this);
Logger.d(TAG, "styleop - initListeners - setOnMapStyleListener - view %s", mMapView);
@@ -271,7 +271,7 @@ public class AMapViewWrapper implements IMogoMapView,
mMapView.setOnMapTouchListener(null);
mMapView.setOnMapClickListener(null);
mMapView.getLocationClient().unRegisterListener(this);
mMapView.setMOnCameraChangeListener(null);
mMapView.setOnCameraChangeListener(null);
mSelfMarker = null;
Logger.d(TAG, "map onDestroy");
}
@@ -746,6 +746,8 @@ public class AMapViewWrapper implements IMogoMapView,
return getMap().getUIController().getTileId(lon, lat);
}
private boolean isShowWarn;
@Override
public void onLocationChanged(@NotNull com.zhidaoauto.map.sdk.open.location.MogoLocation location) {
Location sysLocation = new Location(location.getProvider());
@@ -786,18 +788,20 @@ public class AMapViewWrapper implements IMogoMapView,
}
} else {
// 通过不同的方向类型来改变车模目前暂定三种模型drawlevel 1 绿,2 黄,3 红,绿色的时候需要把相应的切换为默认模型
// Logger.d("liyz", " mAdasResult.drawlevel = " + mAdasResult.drawlevel);
// if (mAdasResult != null) {
// if (mAdasResult.drawlevel == 1) {
// Logger.d("liyz", " mAdasResult.drawlevel = " + mAdasResult.drawlevel);
// if (mAdasResult.drawlevel == 1 && isShowWarn) {
// mSelfMarker.marker3DIcon(R.raw.car);
// isShowWarn = false;
// } else if (mAdasResult.drawlevel == 2) { //不处理
//
// } else if (mAdasResult.drawlevel == 3) {
// } else if (mAdasResult.drawlevel == 3 && !isShowWarn) {
// //继续判断相应的方位,目前是只有 前方 TODO
// mSelfMarker.marker3DIcon(R.raw.car);
// mSelfMarker.marker3DIcon(R.raw.qfpz);
// isShowWarn = true;
// }
// } else {
// mSelfMarker.marker3DIcon(R.raw.car);
//// mSelfMarker.marker3DIcon(R.raw.car);
// }
}

Binary file not shown.

View File

@@ -50,7 +50,6 @@
:modules:mogo-module-push-noop
:modules:mogo-module-push
:libraries:tanlulib
:libraries:mogo-tanlu-api
:modules:mogo-module-monitor
:modules:mogo-module-splash
:modules:mogo-module-splash-noop

View File

@@ -91,8 +91,8 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL
MogoLatLng mogoLatLng = new MogoLatLng(data.getCollisionLat(), data.getCollisionLon());
//2D资源图片位置调整
MogoLatLng stopLineNew = Trigonometric.getNewLocation(data.getStopLines().get(1), 5, 180);
MogoLatLng newLocation = Trigonometric.getNewLocation(mogoLatLng, 5, 180);
// MogoLatLng stopLineNew = Trigonometric.getNewLocation(data.getStopLines().get(1), 5, 180);
// MogoLatLng newLocation = Trigonometric.getNewLocation(mogoLatLng, 5, 180);
IMogoMarker marker = drawMarker(markerShowEntity, modeResType(data.getType()));
//识别物
@@ -101,8 +101,11 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL
data.getDirection() == 1 ? data.getStopLines().get(1).lon : data.getCollisionLon()), (float) data.getHeading(), 5000);
//识别物下方的红色圆圈
bottomMarker.addDynamicAnchorPosition(new MogoLatLng(
data.getDirection() == 1 ? stopLineNew.lat : newLocation.getLat(),
data.getDirection() == 1 ? stopLineNew.lon : newLocation.getLon()), (float) data.getHeading(), 5000);
data.getDirection() == 1 ? data.getStopLines().get(1).lat : data.getCollisionLat(),
data.getDirection() == 1 ? data.getStopLines().get(1).lon : data.getCollisionLon()), (float) data.getHeading(), 5000);
// bottomMarker.addDynamicAnchorPosition(new MogoLatLng(
// data.getDirection() == 1 ? stopLineNew.lat : newLocation.getLat(),
// data.getDirection() == 1 ? stopLineNew.lon : newLocation.getLon()), (float) data.getHeading(), 5000);
//移动完成以后3s后消失
UiThreadHandler.postDelayed(() -> {
marker.remove();
@@ -134,7 +137,7 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL
.object(markerShowEntity)
.latitude(markerShowEntity.getMarkerLocation().getLat())
.longitude(markerShowEntity.getMarkerLocation().getLon())
.setGps(true);
.setGps(false);
IMarkerView iMarkerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, options);
options.icon3DRes(getModelRes(modeResType)); //TODO
options.anchorColor("#FB3C3CFF"); //红色#FF3036 蓝色:#256BFF
@@ -150,7 +153,7 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL
.latitude(location.getLat())
.longitude(location.getLon())
.set3DMode(true)
.setGps(true)
.setGps(false)
.controlAngle(true)
.icon3DRes(getModelRes(type))
.anchorColor("#FB3C3CFF")
@@ -169,7 +172,7 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL
.latitude(newLocation.getLat())
.longitude(newLocation.getLon())
.anchor(1.0f, 1.0f)
.setGps(true)
.setGps(false)
.zIndex(MarkerDrawer.MARKER_Z_INDEX_HIGH);
optionsRipple
.icon(ViewUtils.fromView(new EmptyMarkerView(mContext)));
@@ -211,7 +214,7 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL
.object(markerShowEntity)
.latitude(markerShowEntity.getMarkerLocation().getLat())
.longitude(markerShowEntity.getMarkerLocation().getLon())
.setGps(true);
.setGps(false);
IMarkerView iMarkerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, options);
options.icon3DRes(getModelRes(9));
options.anchorColor("#FB3C3CFF");

View File

@@ -30,7 +30,7 @@
android:id="@+id/fl_speed"
android:layout_width="@dimen/dp_300"
android:layout_height="@dimen/dp_300"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginLeft="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_10"
android:background="@drawable/yi_biao_pan_bg_nor"
android:elevation="@dimen/dp_10"

View File

@@ -57,7 +57,7 @@
android:id="@+id/warning_right"
android:layout_width="@dimen/dp_390"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/module_main_id_warning_view_marginLeft"
android:layout_gravity="right"
android:background="@drawable/module_main_warning_bkg_right"
android:visibility="gone" />

View File

@@ -34,5 +34,4 @@
<dimen name="module_main_event_panel_fragment_paddingLeft">18px</dimen>
<dimen name="module_main_event_panel_fragment_paddingRight">18px</dimen>
<dimen name="module_main_id_warning_view_marginLeft">1530px</dimen>
</resources>

View File

@@ -115,7 +115,7 @@ public class V2XSocketManager {
if (mV2XMessageListener_402000 != null) {
V2XServiceManager
.getMoGoSocketManager()
.unregisterOnMessageListener(401019, mV2XMessageListener_402000);
.unregisterOnMessageListener(402000, mV2XMessageListener_402000);
}
}

View File

@@ -31,9 +31,13 @@ public class V2XOptimalRouteDataRes implements Serializable {
*/
private int most_lane_num;
/**
* 线性经纬度轨迹列表
* Wgs84坐标系线性经纬度轨迹列表
**/
private List<MogoLatLng> locus_list;
/**
* 高德坐标系Gcj线性经纬度轨迹列表
**/
private List<MogoLatLng> gd_locus_list;
public String getSn() {
return sn;
@@ -90,4 +94,12 @@ public class V2XOptimalRouteDataRes implements Serializable {
public void setLocus_list(List<MogoLatLng> locus_list) {
this.locus_list = locus_list;
}
public List<MogoLatLng> getGd_locus_list() {
return gd_locus_list;
}
public void setGd_locus_list(List<MogoLatLng> gd_locus_list) {
this.gd_locus_list = gd_locus_list;
}
}

View File

@@ -31,8 +31,8 @@ public class V2XMessageListener_402000 implements IMogoOnMessageListener<V2XOpti
public void onMsgReceived(V2XOptimalRouteDataRes message) {
// 将接收到的数据转换成最优车道推荐的场景数据
if (message != null
&& message.getLocus_list() != null
&& !message.getLocus_list().isEmpty()) {
&& message.getGd_locus_list() != null
&& !message.getGd_locus_list().isEmpty()) {
Logger.i(MODULE_NAME, "V2XMessageListener_402000" + GsonUtil.jsonFromObject(message));
V2XMessageEntity<V2XOptimalRouteDataRes> v2xMessageEntity = new V2XMessageEntity<>();

View File

@@ -37,7 +37,7 @@ public class MoGoPersonWarnPolylineManager implements IMoGoPersonWarnPolylineMan
}
// 连接线参数
MogoPolylineOptions options = new MogoPolylineOptions().setGps(true);
MogoPolylineOptions options = new MogoPolylineOptions().setGps(false);
// 渐变色
List<Integer> colors = new ArrayList<>();

View File

@@ -44,7 +44,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog
private static String WARNING_ARROWS = "WARNING_ARROWS";
private V2XWarningEntity mCloundWarningInfo;
private static String TAG = "MoGoV2XCloundDataManager";
private boolean isSelfLineClear;
private boolean isSelfLineClear = true;//绘制线是否已被清除
private List fillPoints = new ArrayList();//停止线经纬度合集
private boolean isFirstLocation = false;
private MogoLatLng carLocation = new MogoLatLng(
@@ -158,7 +158,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog
float distance = CoordinateUtils.calculateLineDistance(startLatlng.lon, startLatlng.lat, endLatlng.lon, endLatlng.lat);
//扩展点为了渐变色添加
addMiddleLoc = Trigonometric.getNewLocation(startLatlng, distance / 2, Trigonometric.getAngle(startLatlng.lon, startLatlng.lat, endLatlng.lon, endLatlng.lat));
Log.d(TAG, "自车为起点绘制 自车;" + startLatlng.lat + "," + startLatlng.lon +
Log.d(TAG, "自车为起点绘制 自车;" + startLatlng.lon + "," + startLatlng.lat +
"中间扩展点" + addMiddleLoc.lon + "," + addMiddleLoc.lat + "终点:" + endLatlng.lon + "," + endLatlng.lat);
if (mogoPolyline != null) {
@@ -306,11 +306,11 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog
/**
* 自车定位 移动完成需要 3s消失,这里何时清理,应该是没有数据的时候
* 地图侧回调回的定位Location为高德坐标
*/
@Override
public void onCarLocationChanged2(Location latLng) {
// Log.d(V2XConst.LOG_NAME_WARN, "onCarLocationChanged2 lat = " + latLng.getLatitude() + "--lon =" + latLng.getLongitude() + "---isSelfLineClear = " + isSelfLineClear);
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) {
if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() && isSelfLineClear == false) {
//当行人经纬度交点 开始画线,否则清理
if (mCloundWarningInfo != null) {
mCloundWarningInfo.setCarLocation(new MogoLatLng(latLng.getLatitude(), latLng.getLongitude()));
@@ -318,6 +318,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog
drawSelfCarLine(latLng.getLongitude(), latLng.getLatitude(), latLng.getBearing());
}
carLocation = new MogoLatLng(latLng.getLatitude(), latLng.getLongitude());
Log.d("车行驶的轨迹---", String.valueOf(latLng.getLongitude()) + "," + String.valueOf(latLng.getLatitude()));
}
@Override

View File

@@ -42,7 +42,7 @@ public class MoGoWarnPolylineManager implements IMoGoWarnPolylineManager {
// 连接线参数
MogoPolylineOptions options = new MogoPolylineOptions()
.setGps(true);
.setGps(false);
List<Integer> colors = new ArrayList<>();
if (info.getDirection() == ALERT_THE_FRONT_CRASH_WARNING_TOP) {

View File

@@ -57,7 +57,7 @@ public class V2XOptimalRouteOverlay {
}
}
mPolylineColors.addAll(ColorUtils.gradientAlpha("#002965ED", "#FF2965ED", mPolylinePointList.size() / 3));
mPolylineColors.addAll(ColorUtils.getGradientAlpha("#002965ED", "#FF2965ED", "#002965ED", mPolylinePointList.size()));
// 替换路径集合
mPolylineOptions.points(mPolylinePointList);

View File

@@ -55,7 +55,7 @@ public abstract class AbsV2XScenario<T> implements IV2XScenario {
@Override
public void speakTTSVoice(@Nullable String msg, IMogoVoiceCmdCallBack callBack) {
if (!TextUtils.isEmpty(msg)) {
Logger.w(V2XConst.MODULE_NAME, "调用TTS播放语音" + msg);
Logger.d(V2XConst.MODULE_NAME, "调用TTS播放语音" + msg);
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice(msg, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, callBack);
}
}

View File

@@ -1,6 +1,5 @@
package com.mogo.module.v2x.scenario.scene.route;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.entity.net.V2XOptimalRouteDataRes;
@@ -21,7 +20,7 @@ public class V2XOptimalRouteVREventMarker implements IV2XMarker<V2XOptimalRouteD
@Override
public void drawPOI(V2XOptimalRouteDataRes entity) {
Logger.w(V2XConst.MODULE_NAME + "_" + TAG, "drawPOI 绘制VR Marker");
Logger.d(V2XConst.MODULE_NAME + "_" + TAG, "drawPOI 绘制VR Marker");
try {
// 清除道路事件
@@ -29,7 +28,7 @@ public class V2XOptimalRouteVREventMarker implements IV2XMarker<V2XOptimalRouteD
.getMoGoV2XMarkerManager().clearALLPOI();
// 绘制引导线
V2XOptimalRouteObserver.getInstance()
.setPolylinePoint(entity.getLocus_list());
.setPolylinePoint(entity.getGd_locus_list());
} catch (Exception e) {
e.printStackTrace();
}

View File

@@ -421,38 +421,6 @@ public class TestOnLineCarUtils {
return null;
}
/**
* 模拟H5推送场景---推送VR场景信息
*/
public static V2XMessageEntity<V2XPushMessageEntity> getV2XScenarioPushVR() {
try {
InputStream inputStream = V2XUtils.getApp()
.getResources()
.openRawResource(R.raw.scenario_push_vr_event_data_yongdu_gongsi_1);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len = -1;
byte[] buffer = new byte[1024];
while ((len = inputStream.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
inputStream.close();
// 加载数据源
V2XPushMessageEntity v2xRoadEventEntity = GsonUtil.objectFromJson(baos.toString(), V2XPushMessageEntity.class);
V2XMessageEntity<V2XPushMessageEntity> v2xMessageEntity = new V2XMessageEntity<>();
// 控制类型
v2xMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_PUSH_VR_SHOW);
// 设置数据
v2xMessageEntity.setContent(v2xRoadEventEntity);
// 控制展示状态
v2xMessageEntity.setShowState(true);
return v2xMessageEntity;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 模拟最优路线推送
@@ -461,7 +429,7 @@ public class TestOnLineCarUtils {
try {
InputStream inputStream = V2XUtils.getApp()
.getResources()
.openRawResource(R.raw.scenario_push_vr_event_data_yongdu_gongsi_1);
.openRawResource(R.raw.test_data_v2x_zuiyouluxian);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len = -1;
byte[] buffer = new byte[1024];

View File

@@ -1,185 +0,0 @@
{
"sceneId": "200008",
"alarmContent": "拥堵路线推荐",
"expireTime": 20000,
"sceneCategory": 0,
"sceneDescription": "拥堵路线推荐",
"sceneName": "拥堵路线推荐",
"sceneLevel": 0,
"videoUrl": "",
"videoChannel": "",
"videoSn": "",
"tts": "发现前方拥堵最优路线快6分钟",
"zoom": false,
"zoomScale": 15,
"userHead": "",
"msgImgUrl": "",
"lat":39.969088,
"lon":116.41808,
"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
]
]
}

View File

@@ -1,45 +0,0 @@
{
"sceneId": "200008",
"alarmContent": "拥堵路线推荐",
"expireTime": 10000,
"sceneCategory": 0,
"sceneDescription": "拥堵路线推荐",
"sceneName": "拥堵路线推荐",
"sceneLevel": 0,
"videoUrl": "",
"videoChannel": "",
"videoSn": "",
"tts": "发现前方拥堵最优路线快6分钟",
"zoom": false,
"zoomScale": 15,
"userHead": "",
"msgImgUrl": "",
"lat":39.969088,
"lon":116.41808,
"recommendPolyline": [
[
116.417437,39.983323
],
[
116.41924,39.983364
],
[
116.421396,39.983397
],
[
116.422984,39.983421
],
[
116.423016,39.983405
],
[
116.424272,39.983397
],
[
116.425948,39.983465
],
[
116.42628,39.983399
]
]
}

View File

@@ -1,40 +0,0 @@
{
"locus_list": [
{
"lon": 116.417388,
"lat": 39.983351
},
{
"lon": 116.417388,
"lat": 39.983351
},
{
"lon": 116.417351,
"lat": 39.9841
},
{
"lon": 116.417286,
"lat": 39.985423
},
{
"lon": 116.417233,
"lat": 39.98673
},
{
"lon": 116.417179,
"lat": 39.988156
},
{
"lon": 116.417158,
"lat": 39.988493
},
{
"lon": 116.417142,
"lat": 39.989245
},
{
"lon": 116.417174,
"lat": 39.990199
}
]
}

View File

@@ -1,10 +1,10 @@
{
"type": 1,
"lat": 26.8825429,
"lon": 112.5634378,
"lat": 26.879024,
"lon": 112.568783,
"distance": 2,
"collisionLat": 26.88271105,
"collisionLon": 112.5636347,
"collisionLat": 26.8791769,
"collisionLon": 112.56896496,
"stopLines": [
{
"lat": 26.88008312,

View File

@@ -1,19 +1,19 @@
{
"type": 0,
"lat": 26.8826624,
"lon": 112.5635601,
"lat": 26.87912015,
"lon": 112.56885373,
"distance": 2,
"collisionLat": 26.8826262,
"collisionLon": 112.5635926,
"collisionLat": 26.8791769,
"collisionLon": 112.56896496,
"stopLines": [
{
"lat": 26.8826624,
"lon": 112.5635601
"lat": 26.8791769,
"lon": 112.56896496
},
{
"lat": 26.8826262,
"lon": 112.5635926
"lat": 26.879153,
"lon": 112.568997
}
],
"from": 1,

View File

@@ -1,10 +1,10 @@
{
"type": 2,
"lat": 26.8825826,
"lon": 112.5633788,
"lat": 26.879339,
"lon": 112.568933,
"distance": 2,
"collisionLat": 26.8826135,
"collisionLon": 112.5635520,
"collisionLat": 26.8791769,
"collisionLon": 112.56896496,
"stopLines": [
{
"lat": 26.88241239,

View File

@@ -0,0 +1,44 @@
{
"current_lane_id": "1903",
"current_lane_num": -2,
"most_lane_num": -3,
"most_speed": 8.0,
"road_id": "400139",
"sn": "F803EB2046PZD00149",
"locus_list": [
{
"lat": 39.974323417486,
"lon": 116.411520335961
},
{
"lat": 39.974407914698,
"lon": 116.411515520661
},
{
"lat": 39.974658553869,
"lon": 116.411505432781
},
{
"lat": 39.974881303401,
"lon": 116.411499467848
}
],
"gd_locus_list": [
{
"lat": 39.975728,
"lon": 116.41777
},
{
"lat": 39.975813,
"lon": 116.417765
},
{
"lat": 39.976064,
"lon": 116.417755
},
{
"lat": 39.976286,
"lon": 116.417749
}
]
}

View File

@@ -42,7 +42,7 @@ dependencies {
annotationProcessor rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.adasapi
implementation rootProject.ext.dependencies.adasconfigapi
implementation "com.zhidao.support.adas:high:1.1.5.9"
implementation "com.zhidao.support.adas:high:1.1.7.4"
if (Boolean.valueOf(RELEASE)) {
api rootProject.ext.dependencies.mogomap
implementation rootProject.ext.dependencies.mogomapapi

View File

@@ -72,7 +72,7 @@ public class AdasObjectUtils {
result.carId = model.getCarId();
result.dataAccuracy = model.dataAccuracy;
result.distance = model.distance;
// result.drawlevel = model.drawlevel; //liyz
result.drawlevel = model.getDrawlevel();
result.mortonCode = MortonCode.wrapEncodeMorton(result.lon, result.lat);
IMogoMapUIController mogoMapUIController = ARouter.getInstance().navigation(IMogoServiceApis.class).getMapServiceApi().getMapUIController();
if (mogoMapUIController != null) {

View File

@@ -58,9 +58,7 @@ import com.zhidao.support.adas.high.msg.MyMessageFactory;
import org.json.JSONException;
import org.json.JSONObject;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -191,7 +189,7 @@ public class MogoADASController implements IMogoADASController {
model.setSpeed( bean.getSpeed() );
model.setDataAccuracy( bean.getDataAccuracy() );
model.setDistance( bean.getDistance() );
// model.setDrawlevel(bean.getDrawlevel());
model.setDrawlevel(bean.getDrawlevel()); //liyz
data.add( model );