找回密码
 立即注册
收起左侧

qt5 加载百度地图

1
回复
9303
查看
[复制链接]
累计签到:132 天
连续签到:1 天
来源: 2017-4-28 10:20:22 显示全部楼层 |阅读模式
5Qter豆
本帖最后由 adaluobo 于 2017-4-28 10:22 编辑

我在qt中加载百度地图一直提示脚本错误,如图所示,点击是之后还能显示地图
我的主要代码如下:
void semmapwidget::mapaddress(const QString &url){  
  ui->webBrowser->dynamicCall("Navigate(const QString&)", url);
}

void semmapwidget::ini()
{   
        QString mapHtml=QDir::currentPath()+"/MapFile/map.html";  
       qDebug()<<QDir::currentPath();
        mapaddress(mapHtml);      
      QAxObject *document = ui->webBrowser->querySubObject("Document");   
       IHTMLDocument2 *doc2;     
       document->queryInterface(QUuid(IID_IHTMLDocument2), (void**)&doc2);
        if (doc2)      
{         
            IHTMLWindow2 *win2 = nullptr;         
          if (doc2->get_parentWindow(&win2) == S_OK)         
     {              
                  BSTR s1 = SysAllocString(L"Test('111')");           
                  BSTR s2 = SysAllocString(L"JavaScript");              
                  VARIANT ret;               
                    win2->execScript(s1, s2, &ret);           
                   SysFreeString(s2);              
                     SysFreeString(s1);           
       }   
}


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

win2->execScript(s1, s2, &ret); 你这个是执行了 js 脚本吧, windows 下你直接双击 js 文件也是会报错了哦, 所以这个没有办法在 Windows 下直接执行,需要 JS 文件的执行环境, 楼主可以放到 nodejs 里面执行脚本程序,另外,在 QML 里面用 WebView 加载地图然后和地图交互比较简单,楼主也可以试试哦,给个链接: http://www.cnblogs.com/hbrw/p/6698044.html ~~~ ...
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2017-4-28 10:20:23 显示全部楼层
本帖最后由 Since 于 2017-4-28 17:24 编辑

win2->execScript(s1, s2, &ret); 你这个是执行了 js 脚本吧, windows 下你直接双击 js 文件也是会报错了哦,
所以这个没有办法在 Windows 下直接执行,需要 JS 文件的执行环境,
楼主可以放到 nodejs 里面执行脚本程序,另外,在 QML 里面用 WebView 加载地图然后和地图交互比较简单,楼主也可以试试哦,给个链接:
http://www.cnblogs.com/hbrw/p/6698044.html

~~~

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了