周睿 hace 2 años
padre
commit
e980bd9384

+ 15 - 9
lib/service/map_watch.dart

@@ -152,19 +152,25 @@ class UserInfo {
       final ts = t.difference(startAt);
       if (ts.inMilliseconds > 0 && !indexMap.containsKey(ts.inMilliseconds)) {
         final pos = one.toModel();
-        trace.add(TracePoint()
+        final oneTrace = TracePoint()
           ..ts = ts
-          ..position = pos);
-      }
-    }
-
-    if (map!.plugMap.isInitFinish) {
-      for (final one in trace) {
-        if (one.onMap == Offset.zero) {
-          one.onMap = await map.plugMap.gameMap.worldToPixel(one.position);
+          ..position = pos;
+        if (map!.plugMap.isInitFinish){
+          oneTrace.onMap =
+            await map.plugMap.gameMap.worldToPixel(oneTrace.position);
         }
+
+        trace.add(oneTrace);
       }
     }
+
+    // if (map!.plugMap.isInitFinish) {
+    //   for (final one in trace) {
+    //     if (one.onMap == Offset.zero) {
+    //       one.onMap = await map.plugMap.gameMap.worldToPixel(one.position);
+    //     }
+    //   }
+    // }
   }
 
   Future<void> setGameInfo(pb.ToOrienteerInGameInfo info) async {

+ 8 - 0
lib/view/home/data_detail/data_detail_controller.dart

@@ -1,4 +1,5 @@
 import 'dart:async';
+import 'dart:math';
 
 import 'package:application/logger.dart';
 import 'package:common_pub/model/history_detail.dart';
@@ -63,8 +64,11 @@ class DataDetailController extends GetxController {
     }
 
     try {
+      final t = DateTime.now();
       final r = await ApiService.to.stub
           .toHistoryUserListQuery(IdRequest(id: map.id));
+      final d = DateTime.now().difference(t);
+      // debug('api cost $d');
       for (final one in r.list) {
         final updated = userMap[one.oId] ?? UserInfo();
         updated.data = one;
@@ -80,8 +84,12 @@ class DataDetailController extends GetxController {
     selectedUserId.value = user.data.oId;
     selectedLoading.value = true;
     try{
+      final t = DateTime.now();
       final detail = HistoryDetail(await ApiService.to.stub
           .toHistoryGameDetail(IdRequest(id: Int64(d.gameId))));
+      final cost = DateTime.now().difference(t);
+      info("api cost $cost");
+
       await detail.init(mapWatch!.plugMap.gameMap);
       final old = selectedDetail.value;
       selectedDetail.value = detail;