diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index 66bf9861f4..92b24c8b47 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -521,6 +521,11 @@ object CharterPassengerModel { orderInfo = null locusInfo = null if (data.businessStatus == 2) {// 订单结束 没有还车 + switchLine5minWait?.let { + if (!it.isDisposed) { + it.dispose() + } + } setOrderStatus(OrderStatusEnum.NoOrderUse) } else { // 车辆空闲 订单结束已经还车 diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java index 94761923fe..75c29aee47 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java @@ -135,7 +135,7 @@ public class CoordinateCalculateRouteUtil { // region 当前位置和 对应轨迹点的坐标距离 // 需要加距离 和下一个轨迹点成钝角 if (currentRouteIndex + 1 < stationPointInRouteIndex) { - MogoLocation currentPointsNext = mRoutePoints.get(stationPointInRouteIndex + 1); + MogoLocation currentPointsNext = mRoutePoints.get(currentRouteIndex + 1); double degree = getDegree( location.getLongitude(),location.getLatitude(), currentPoint.getLongitude(), currentPoint.getLatitude(), @@ -147,7 +147,7 @@ public class CoordinateCalculateRouteUtil { // 需要减距离 和上一个轨迹点成钝角 if (currentRouteIndex - 1 >= 0) { - MogoLocation lastPointsPre = mRoutePoints.get(stationPointInRouteIndex - 1); + MogoLocation lastPointsPre = mRoutePoints.get(currentRouteIndex - 1); double degree = getDegree( location.getLongitude(),location.getLatitude(), currentPoint.getLongitude(), currentPoint.getLatitude(), @@ -426,6 +426,16 @@ public class CoordinateCalculateRouteUtil { return currentIndex; } + /** + * https://blog.csdn.net/Jeanne_0523/article/details/106056255 + * @param vertexPointX + * @param vertexPointY + * @param point0X 角 + * @param point0Y 角 + * @param point1X + * @param point1Y + * @return + */ public static int getDegree(double vertexPointX, double vertexPointY, double point0X, double point0Y, double point1X, double point1Y) { //向量的点乘 double vector = (point0X - vertexPointX) * (point1X - vertexPointX) + (point0Y - vertexPointY) * (point1Y - vertexPointY);