From 1ab27704a5a526ffe7d8ae2be88789ff4bd85a85 Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 26 Jan 2021 17:57:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8=E6=96=B9?= =?UTF-8?q?=E6=B3=95,=E4=B8=A4=E7=82=B9=E9=97=B4=E8=B7=9D=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/realtime/Imp/RealTimeProviderImp.java | 8 -------- .../com/mogo/realtime/Interface/RealTimeProvider.java | 9 +-------- .../realtime/core/SimpleLocationCorrectStrategy.java | 5 +++-- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeProviderImp.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeProviderImp.java index b0b4b61..b16b9ca 100644 --- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeProviderImp.java +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeProviderImp.java @@ -64,12 +64,4 @@ public class RealTimeProviderImp implements RealTimeProvider { return null; } - @Override - public float calculateLineDistance(MogoLatLng p1, MogoLatLng p2) throws Exception { - if (mDelegate != null) { - mDelegate.calculateLineDistance(p1, p2); - } - return 0; - } - } diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeProvider.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeProvider.java index 95e7367..ff219b3 100644 --- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeProvider.java +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeProvider.java @@ -35,12 +35,5 @@ public interface RealTimeProvider { * 发送消息,由外部传入 */ List getLocationMsg(); - /** - * 计算两点之间的距离 - * - * @param p1 - * @param p2 - * @return - */ - float calculateLineDistance( MogoLatLng p1, MogoLatLng p2 ) throws Exception; + } diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/core/SimpleLocationCorrectStrategy.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/core/SimpleLocationCorrectStrategy.java index dcf44b6..dcb0ac4 100644 --- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/core/SimpleLocationCorrectStrategy.java +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/core/SimpleLocationCorrectStrategy.java @@ -2,6 +2,7 @@ package com.mogo.realtime.core; import android.os.SystemClock; +import com.mogo.cloud.commons.utils.CoordinateUtils; import com.mogo.realtime.Imp.RealTimeProviderImp; import com.mogo.realtime.entity.CloudLocationInfo; import com.mogo.realtime.util.LocationParseUtil; @@ -60,7 +61,7 @@ public class SimpleLocationCorrectStrategy { try { float targetDistance = (float) (lastLocation.getSpeed() * (SystemClock.elapsedRealtime() - anchorTime) / 1000) + TARGET_DISTANCE_DEVIATION; - float distance = RealTimeProviderImp.getInstance().calculateLineDistance(LocationParseUtil.cloudLocationToMogoLatLng(lastLocation), LocationParseUtil.cloudLocationToMogoLatLng(info)); + float distance = CoordinateUtils.calculateLineDistance(lastLocation.getLon(),lastLocation.getLat(),info.getLon(),info.getLat()); Logger.d(TAG, "准备计算{ lastInfo: " + lastLocation.print() + " info: " + info.print() + " targetDistance: " + targetDistance + " distance : " + distance + "}"); @@ -121,7 +122,7 @@ public class SimpleLocationCorrectStrategy { try { float targetDistance = (float) (lastLocation.getSpeed() * (SystemClock.elapsedRealtime() - anchorTime) / 1000) + TARGET_DISTANCE_DEVIATION; - float distance = RealTimeProviderImp.getInstance().calculateLineDistance(LocationParseUtil.cloudLocationToMogoLatLng(lastLocation), LocationParseUtil.cloudLocationToMogoLatLng(info)); + float distance = CoordinateUtils.calculateLineDistance(lastLocation.getLon(),lastLocation.getLat(),info.getLon(),info.getLat()); Logger.d(TAG, "异常定位点\n准备计算{ lastInfo: " + lastLocation.print() + " info: " + info.print() + " targetDistance: " + targetDistance + " distance : " + distance + "}"); // 按照上一个点的方向和速度,计算下一个点的位置,下一个点除坐标点外,其余数据与上一个点相同