我有一个带有qwebview的qt应用程序,它使用谷歌地图,初始化google地图时没有问题;但是当我尝试添加这样的标记时:
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"
});
}有谁能帮忙吗?先谢谢你,问候
发布于 2014-11-18 13:00:49
这可能与这篇文章有关:evaluateJavaScript in PyQt - function is not called
QT中有一个信号是在页面完成加载时发出的,称为loadFinished()。
请看一看,看看webview.loadFinished信号是否能修复它。
https://stackoverflow.com/questions/26813550
复制相似问题