2014-11-08 82 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