Skip to content

Commit

Permalink
map
Browse files Browse the repository at this point in the history
  • Loading branch information
ic005k committed Feb 18, 2025
1 parent 9fa4289 commit ff5e585
Show file tree
Hide file tree
Showing 6 changed files with 370 additions and 420 deletions.
3 changes: 1 addition & 2 deletions android/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
<uses-permission android:name="android.permission.REORDER_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />


<uses-feature android:name="android.hardware.sensor.stepcounter" android:required="true" />
<uses-feature android:name="android.hardware.sensor.stepdetector" android:required="true" />

Expand Down
39 changes: 37 additions & 2 deletions src/Steps/Steps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -424,6 +424,14 @@ void Steps::startRecordMotion() {
str7 = list.at(6);
strGpsStatus = str4 + "\n" + str5 + "\n" + str6 + "\n" + str7;
}

if (m_time.second() % 3 && m_distance > 0) {
appendTrack(latitude, longitude);
nWriteGpsCount++;
writeGpsPos(latitude, longitude, nWriteGpsCount, nWriteGpsCount);
}
mw_one->ui->qwMap->rootContext()->setContextProperty("strDistance", str1);
mw_one->ui->qwMap->rootContext()->setContextProperty("strSpeed", str3);
}

#else
Expand Down Expand Up @@ -469,6 +477,8 @@ void Steps::startRecordMotion() {
}
#endif

clearTrack();
nWriteGpsCount = 0;
m_time = QTime(0, 0);
timer->start(1000);
m_distance = 0;
Expand All @@ -484,6 +494,7 @@ void Steps::startRecordMotion() {
mw_one->ui->lblCurrentDistance->setStyleSheet(lblStartStyle);

strStartTime = QTime::currentTime().toString();
t0 = QDate::currentDate().toString();
mw_one->ui->qwMap->rootContext()->setContextProperty("isGpsRun", true);
}

Expand Down Expand Up @@ -518,8 +529,8 @@ void Steps::stopRecordMotion() {
Reg.setValue("/Steps/TotalDistance", m_TotalDistance);

strEndTime = QTime::currentTime().toString();
QString t0, t1, t2, t3, t4, t5;
t0 = QDate::currentDate().toString();
QString t1, t2, t3, t4, t5;

t1 = tr("Time") + ": " + strStartTime + " - " + strEndTime;
t2 = tr("Distance") + ": " + str1;
t3 = tr("Exercise Duration") + ": " + str2;
Expand Down Expand Up @@ -733,3 +744,27 @@ void Steps::curMonthTotal() {
QString::number(curCount) + "\n" + tr("All Total") + ": " +
QString::number(m_td) + " km");
}

void Steps::appendTrack(double lat, double lon) {
QQuickItem* root = mw_one->ui->qwMap->rootObject();
QMetaObject::invokeMethod((QObject*)root, "appendTrack", Q_ARG(QVariant, lat),
Q_ARG(QVariant, lon));
}

void Steps::clearTrack() {
QQuickItem* root = mw_one->ui->qwMap->rootObject();
QMetaObject::invokeMethod((QObject*)root, "clearTrack");
}

void Steps::writeGpsPos(double lat, double lon, int i, int count) {
QString s0 = t0.replace(" ", "");
QString s1 = strStartTime.replace(":", "");

QSettings Reg(iniDir + s0 + "-gps-" + s1, QSettings::IniFormat);
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
Reg.setIniCodec("utf-8");
#endif
Reg.setValue("/" + QString::number(i) + "/lat", lat);
Reg.setValue("/" + QString::number(i) + "/lon", lon);
Reg.setValue("/count", count);
}
7 changes: 6 additions & 1 deletion src/Steps/Steps.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ class Steps : public QDialog {
void getGpsListDataFromYearMonth();
void delGpsListItem(int index);
void curMonthTotal();
void appendTrack(double lat, double lon);
public slots:
void clearAllGpsList();
private slots:
Expand Down Expand Up @@ -109,13 +110,17 @@ class Steps : public QDialog {
"#4C566A;border-radius: 10px;padding: 10px 20px;text-align: "
"center;box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);}";

QString str1, str2, str3, str4, str5, str6, str7;
QString t0, str1, str2, str3, str4, str5, str6, str7;

void insertGpsList(int curIndex, QString t0, QString t1, QString t2,
QString t3, QString t4, QString t5);
QString strStartTime, strEndTime;

QString getGpsListText2(int index);

void clearTrack();
void writeGpsPos(double lat, double lon, int i, int count);
int nWriteGpsCount;
signals:
void distanceChanged(double distance);
void timeChanged();
Expand Down
Binary file modified src/cn.qm
Binary file not shown.
Loading

0 comments on commit ff5e585

Please sign in to comment.