运动结束界面增加GPS轨迹绘制
authorCaisking <Casiking@zhihuishixun.com>
Tue, 1 Jul 2025 09:37:24 +0000 (17:37 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Tue, 1 Jul 2025 09:37:24 +0000 (17:37 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp

index f110d27..d484818 100644 (file)
@@ -723,26 +723,21 @@ void TraingEnddataView::GenerateTrackPoints() {
 
   TrackSegment seg1;
   seg1.color = Color::Blue();
-  seg1.points = {
-      {299, 146}, {293, 154}, {288, 149}, {281, 163}, {277, 156}, {272, 166},
-      {273, 169}, {268, 168}, {266, 172}, {261, 185}, {254, 181}, {253, 191},
-      {249, 196}, {247, 201}, {243, 194}, {244, 198}, {239, 204}, {237, 217},
-      {234, 218}, {231, 215}, {229, 217}, {226, 219}, {224, 228}, {224, 238},
-      {221, 232}, {221, 244}, {220, 238}, {220, 245}, {218, 254}, {215, 250},
-      {212, 256}, {214, 265}, {210, 257}, {208, 261}, {207, 265}, {208, 268},
-      {204, 278}, {206, 277}, {206, 271}, {203, 282}, {202, 275}, {202, 278},
-      {198, 289}, {197, 289}, {199, 291}, {199, 291}, {194, 291}, {195, 287},
-      {193, 293}, {193, 285}, {189, 292}, {191, 299}, {188, 286}, {190, 289},
-      {188, 297}, {184, 294}, {181, 294}, {182, 284}, {182, 293}, {177, 284},
-      {179, 283}, {175, 280}, {171, 277}, {171, 275}, {170, 280}, {164, 278},
-      {165, 269}, {161, 270}, {159, 260}, {158, 267}, {156, 255}, {149, 249},
-      {147, 254}, {142, 244}, {143, 238}, {137, 237}, {131, 223}, {130, 225},
-      {128, 212}, {121, 201}, {117, 206}, {115, 197}, {108, 191}, {106, 174},
-      {98, 171},  {92, 163},  {89, 148},  {85, 141},  {74, 131},  {73, 123},
-      {64, 111},  {61, 98},   {52, 92},   {47, 84},   {36, 70},   {30, 48},
-      {23, 43},   {17, 33},   {58, 18},
-  };
+
+  std::vector<Point> canvasData = TraingModel::GetInstance()->GetCanvasData();
+  //最小轨迹点数限制,防止绘制失败
+  if (canvasData.size() < 3) {
+    return;
+  }
+  //将点位赋值
+  for (size_t i = 0; i < canvasData.size(); ++i) {
+    seg1.points.push_back(canvasData[i]);
+  }
   trackSegments_.push_back(seg1);
+
+  //修改markers_ 起终点坐标
+  markers_[0].pos = canvasData[0];
+  markers_[1].pos = canvasData.back();
 }
 void TraingEnddataView::DrawTrackSegment(UICanvas *canvas) {
   // 绘制网格