Unsolved QWebengineView 無法使用 Google Map APIs?
-
大家好:
目前想做一個關於GPS結合Qt的小專案,目前選擇Google Map作為我的地圖,在使用QWebengineView時事可以順利載入地圖的,但我無法使用webview->page()->runjavascript()
去操作Javascript內的function 程式碼 。QUrl url("qrc:/map.html"); QWebEngineSettings::globalSettings()->setAttribute(QWebEngineSettings::PluginsEnabled,true); QWebEngineSettings::globalSettings()->setAttribute(QWebEngineSettings::JavascriptEnabled,true); QWebEnginePage *page = new QWebEnginePage(this); QWebChannel *channel = new QWebChannel(this); page->load(url); page->setWebChannel(channel); ui->widget->setPage(page); QString js=QString("var marker = new google.maps.Marker({ ")+ QString("position: new google.maps.LatLng(24.705311, -74.2581939),")+ QString(" map: map,")+ QString("title: \"Marker A\",")+ QString(" }); "); ui->widget->page()->runJavaScript(js,[](const QVariant &result){ qDebug() << result.toBool(); });
錯誤回報: js: Uncaught ReferenceError: google is not defined
目前才剛接觸Qt 的Web功能和javascript,所以也不知道問題出在哪裡?
另外有人可以提供關於webchannel的範例嗎?
謝謝大家!!開發環境: Ubuntu 16.04 Qt 5.7