2014-11-08 79 views
0

我有一个qwebview使用谷歌地图的qt应用程序,初始化谷歌地图时没有问题;但是当我尝试添加如下标记时:Qt evaluateJavaScript问题

ui-> webView-> page() - > mainFrame() - > evaluateJavaScript(QString(“addmarker(-34.659639,-58.468231);”));

我得到QVariant(无效)。

我的JavaScript代码如下:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 
    var map; 
    var marker; 

    var myLatlng = new google.maps.LatLng(-34, -58); 

    function initialize() { 
    var myOptions = { 
     zoom: 14, 
     center: new google.maps.LatLng(-34, -58), 
     mapTypeId: google.maps.MapTypeId.HYBRID, 
     zoomControl: true, 
     zoomControlOptions: { style: google.maps.ZoomControlStyle.SMALL }, 
    }; 

    map = new google.maps.Map(document.getElementById('map_canvas'), myOptions); 

    } 
    // Add a marker to the map and push to the array. 
    function addmarker(location) { 
    var Latlng = new google.maps.LatLng(location); 
    marker = new google.maps.Marker({ 
    position: Latlng, 
    map: map, 
    title: "marker" 
    }); 

    } 

请任何一个可以帮助这个? 由于提前, 问候

回答

2

这可能与这个帖子:evaluateJavaScript in PyQt - function is not called

有当页面完成加载 时发射在QT的信号,称为loadFinished()。

请看看webview.loadFinished信号是否可以修复它。

+0

这当然是问题;谢谢! – AGG88 2014-11-19 13:33:26