Merge branch 'dev_robotaxi-d-app-module_2110_220915_2.11.0' into 'test_robotaxi-d-app-module_2110_220915_2.11.0.1'
[2.11.0 fix] bus司机端解决Map280版本到站密集问题, 只比对坐标前五位 See merge request zhjt/AndroidApp/MoGoEagleEye!282
This commit is contained in:
@@ -56,6 +56,7 @@ import com.mogo.och.common.module.biz.provider.LoginService;
|
||||
import com.mogo.och.common.module.manager.OCHAdasAbilityManager;
|
||||
import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil;
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil;
|
||||
import com.mogo.och.common.module.utils.NumberFormatUtil;
|
||||
import com.mogo.och.common.module.utils.PinYinUtil;
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper;
|
||||
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
|
||||
@@ -858,12 +859,16 @@ public class BusOrderModel {
|
||||
//MAP 280 每隔100ms左右返回一次到站, 导致在到达中间站后再次滑动出发后会有时间差,收到一次到站,出现问题
|
||||
//此处比对 自驾告诉的到站站点坐标和本地应到站站点坐标, 一致时才能到站
|
||||
if (data != null && data.getEndLocation() != null){
|
||||
double latitude = data.getEndLocation().getLatitude(); //wgs
|
||||
double longitude = data.getEndLocation().getLongitude();
|
||||
|
||||
String latitude = NumberFormatUtil.cutOutNumber(data.getEndLocation().getLatitude(),5); //wgs
|
||||
String longitude = NumberFormatUtil.cutOutNumber(data.getEndLocation().getLongitude(),5);
|
||||
|
||||
int arrivedStationIndex = backgroundCurrentStationIndex + 1;
|
||||
BusStationBean arriveStation = stationList.get(arrivedStationIndex);
|
||||
if (Double.doubleToLongBits(latitude) != Double.doubleToLongBits(arriveStation.getLat())
|
||||
|| Double.doubleToLongBits(longitude) != Double.doubleToLongBits(arriveStation.getLon())){
|
||||
String arriveLat = NumberFormatUtil.cutOutNumber(arriveStation.getLat(),5);
|
||||
String arriveLon = NumberFormatUtil.cutOutNumber(arriveStation.getLon(),5);
|
||||
|
||||
if (!latitude.equals(arriveLat) || !longitude.equals(arriveLon)){
|
||||
CallerLogger.INSTANCE.e( M_BUS + TAG, "行程日志-到站拦截,到站坐标不一致" );
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -21,4 +21,20 @@ public class NumberFormatUtil {
|
||||
}
|
||||
return String.valueOf(num);
|
||||
}
|
||||
|
||||
/**
|
||||
* 截取小数点后cutNum位, 不进行四舍五入
|
||||
* @param num
|
||||
* @param cutNum
|
||||
* @return
|
||||
*/
|
||||
public static String cutOutNumber(double num,int cutNum){
|
||||
try{
|
||||
BigDecimal bg = new BigDecimal(num).setScale(cutNum, RoundingMode.DOWN);
|
||||
return String.valueOf(bg.doubleValue());
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user