Skip to content

runjavascript #1

@EdXian

Description

@EdXian

你好:
目前想做一個關於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,所以也不知道問題出在哪裡?
另外一定要使用Qt webchannel才能對javascript操作嗎?
謝謝!!

開發環境: 
Ubuntu 16.04
Qt 5.7

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions