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 + "}"); // 按照上一个点的方向和速度,计算下一个点的位置,下一个点除坐标点外,其余数据与上一个点相同