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); };