【问题标题】:Qt evaluateJavaScript problemsQt 评估 JavaScript 问题
【发布时间】:2014-11-08 03:55:18
【问题描述】:

我有一个带有 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"
  });

  }

请问有人可以帮忙吗? 提前致谢, 问候

【问题讨论】:

    标签: javascript qt google-maps


    【解决方案1】:

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

    QT 中有一个信号在页面完成时发出 加载,调用 loadFinished()。

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

    【讨论】: