1、问题现象

     用最简单的QWebEngineView显示高德地图,出现如下错误,同时不能正确显示地图:

 js: Uncaught ReferenceError: AMap is not defined





2、解决方法

    直接修改Qurl从html文件改为直接用网络地址:

修改前:

     webview->load(QUrl("qrc:/map.html"));

修改后:

   webview->load(QUrl("https://www.baidu.com"));

因为QWebEngineView就相当于一个简单浏览器内核,可以直接显示网页,但修改成www.baidu.com后,依然不能显示网页,结果如下:



因此问题出在Qt的网络,而不是地图提供的html文件。

直接在webview->load之前执行如下语句,问题解决:

QNetworkProxyFactory::setUseSystemConfiguration(false);


3、正确显示网页





4、正确显示地图



标签: none

评论已关闭