我有一个带有 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"
});
}
请问有人可以帮忙解决这个问题吗? 提前致谢, 问候
最佳答案
可能与此帖子相关:evaluateJavaScript in PyQt - function is not called
There is a signal in QT that is emitted when the page is finished loading, called loadFinished().
请查看 webview.loadFinished 信号是否可以修复该问题。
关于javascript - Qt 评估 JavaScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26813550/