Qt评估JavaScript问题

时间:2014-11-08 03:55:18

标签: javascript qt google-maps

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

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"
  });

  }

请任何人帮忙吗? 提前致谢, 此致

1 个答案:

答案 0 :(得分:2)

这可能与这篇文章有关:evaluateJavaScript in PyQt - function is not called

  

页面完成后,QT中会发出一个信号   加载,称为loadFinished()。

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