|
@@ -3,9 +3,12 @@ package com.sckw.core.utils;
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.LocalTime;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
@@ -72,8 +75,9 @@ public class LocUtils {
|
|
|
* @param pointCount 需要生成的轨迹点数量
|
|
* @param pointCount 需要生成的轨迹点数量
|
|
|
* @return 包含轨迹点位和耗时的结果对象
|
|
* @return 包含轨迹点位和耗时的结果对象
|
|
|
*/
|
|
*/
|
|
|
- public static RouteResult getDrivingRoutePointsWithDuration(String startLng, String startLat,
|
|
|
|
|
- String endLng, String endLat, int pointCount) {
|
|
|
|
|
|
|
+ public static RouteResult getDrivingRoutePointsWithDuration(String startLng, String startLat,
|
|
|
|
|
+ String endLng, String endLat, int pointCount,
|
|
|
|
|
+ LocalDate date) {
|
|
|
if (StringUtils.isBlank(startLng) || StringUtils.isBlank(startLat)
|
|
if (StringUtils.isBlank(startLng) || StringUtils.isBlank(startLat)
|
|
|
|| StringUtils.isBlank(endLng) || StringUtils.isBlank(endLat)) {
|
|
|| StringUtils.isBlank(endLng) || StringUtils.isBlank(endLat)) {
|
|
|
return null;
|
|
return null;
|
|
@@ -114,6 +118,10 @@ public class LocUtils {
|
|
|
// 从所有点位中均匀选取指定数量的点
|
|
// 从所有点位中均匀选取指定数量的点
|
|
|
//List<RoutePoint> selectedPoints = selectUniformPoints(allPoints, pointCount);
|
|
//List<RoutePoint> selectedPoints = selectUniformPoints(allPoints, pointCount);
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
+ if (Objects.nonNull( date)){
|
|
|
|
|
+ now = date.atTime(LocalTime.now());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
for (int i = 0; i < allPoints.size(); i++) {
|
|
for (int i = 0; i < allPoints.size(); i++) {
|
|
|
RoutePoint point = allPoints.get(i);
|
|
RoutePoint point = allPoints.get(i);
|
|
|
point.setTs(now.plusMinutes(i * 5L));
|
|
point.setTs(now.plusMinutes(i * 5L));
|