From: tsteven4 <13596209+tsteven4@users.noreply.github.com>
Date: Mon, 18 Dec 2023 13:17:09 +0000 (-0700)
Subject: modernize google maps javascript (#1247)
X-Git-Tag: archive/raspbian/1.10.0+ds-2+rpi1~1^2~12^2^2~120
X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1176172d848fdb4f33a3099ee1ac1975ddcd686a;p=gpsbabel.git
modernize google maps javascript (#1247)
to avoid:
"js: Google Maps JavaScript API has been loaded directly without a callback. This is not supported and can lead to race conditions and suboptimal performance. For supported loading patterns please see https://goo.gle/js-api-loading"
---
diff --git a/gui/gmapbase.html b/gui/gmapbase.html
index 15a50f8be..71422331a 100644
--- a/gui/gmapbase.html
+++ b/gui/gmapbase.html
@@ -3,8 +3,14 @@
Google Maps JavaScript
-
-
+
diff --git a/gui/map.cc b/gui/map.cc
index 228959f21..e6e82fa60 100644
--- a/gui/map.cc
+++ b/gui/map.cc
@@ -76,8 +76,6 @@ Map::Map(QWidget* parent,
stopWatch_.start();
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
manager_ = new QNetworkAccessManager(this);
- connect(this,&QWebEngineView::loadFinished,
- this,&Map::loadFinishedX);
this->logTime("Start map constructor");
auto* mclicker = new MarkerClicker(this);
@@ -85,6 +83,7 @@ Map::Map(QWidget* parent,
this->page()->setWebChannel(channel);
// Note: A current limitation is that objects must be registered before any client is initialized.
channel->registerObject(QStringLiteral("mclicker"), mclicker);
+ connect(mclicker, &MarkerClicker::loadFinished, this, &Map::loadFinishedX);
connect(mclicker, &MarkerClicker::markerClicked, this, &Map::markerClicked);
connect(mclicker, &MarkerClicker::logTime, this, &Map::logTime);
diff --git a/gui/map.h b/gui/map.h
index 1ea743aab..6c2e69b7a 100644
--- a/gui/map.h
+++ b/gui/map.h
@@ -60,10 +60,15 @@ public slots:
{
emit logTime(s);
}
+ void loadedX()
+ {
+ emit loadFinished(true);
+ }
signals:
void markerClicked(int t, int i);
void logTime(const QString& s);
+ void loadFinished(bool b);
};