编辑4
所有这一切,当我认为这是标记问题,他们不被拖累! 现在我已经意识到,当它在Qt小部件中显示时,没有鼠标点击地图。
以下代码,我粘贴在HTML文件中并通过Firefox打开,这完美无缺!当我点击QtWidget上的地图时,同样没有回应:rolleyes:
任何人都可以为我确认这个或告诉我我在做什么错吗?
Google Maps JavaScript API示例
<script type="text/javascript">
var map;
var latlng = new google.maps.LatLng (34.7607233, -117.0107599);
var directionsDisplay = new google.maps.DirectionsRenderer ();;
var directionsService = new google.maps.DirectionsService ();
var pointsArray = new Array();
var arrayToBeReturned = new Array();
function initialize ()
{
var myOptions =
{
zoom:8,
center:latlng,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map (document.getElementById ("map"), myOptions);
directionsDisplay.setMap (map);
google.maps.event.addListener (map, "click", function ()
{
alert("You clicked the map.");
});
}
</script>
</head>
<body onload="initialize()" topmargin="0" leftmargin="0">
<div id="map" style="width: 341px; height: 271px"></div>
<div id="directionsPanel" style="float:right;width:30%;height 100%"></div>
</body>
</html>
答案 0 :(得分:1)
您正在查看事件的错误位置:)在引用中,每个对象都有自己的事件。你可以在这里看到标记的那些:
[http://code.google.com/apis/maps/documentation/javascript/reference.html#Marker] [1]
我已多次使用dragend活动并且运作顺畅。
执行此操作的代码可能是:
var map = new google.maps.Map(document.getElementById("map"), myOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map,
draggable: true
});
google.maps.event.addListener(marker, 'dragend', function () {
document.getElementById("txtLatitude").value = marker.getPosition().lat();
document.getElementById("txtLongitude").value = marker.getPosition().lng();
});
[1]:http://code.google.com/apis/maps/documentation/javascript/reference.html#Markermap =新
答案 1 :(得分:1)
找到解决方案:
在您要在Qt小部件中“加载”HTML文件(包含Javascript API)的源文件中添加此类。
class myWebPage : public QWebPage
{
virtual QString userAgentForUrl(const QUrl& url) const {
return "Chrome/1.0";
}
};
然后在同一个源文件中的自己的类中,添加 setPage 函数调用,如下所示,看看魔术发生了!
MainScreen::MainScreen(QWidget *parent):QWidget(parent)
{
...
***map->setPage (new myWebPage());***
map->load (QUrl("./index.html") ) ;
};
答案 2 :(得分:-1)
google.maps.event.addListener (initialPointMarker, 'click',
function () { map.closeInfoWindow(); });
点击参数
周围的单引号怎么样?