【发布时间】:2011-06-27 14:08:07
【问题描述】:
我有一个带有 20 个标记的 Google 地图 (v3)。我有一个单独的 InfoBox 实例,该实例填充了一个 div,其中包含将框填充为 innerHTML 的文本。
我希望能够点击信息框并导航到另一个页面,但我无法获取信息框或其中的 div 来响应点击事件。
我已尝试添加事件侦听器,也已尝试添加 domListener,但都无法正常工作。
这是我的代码中的一些 sn-ps
//setting up the infobox
var infobox = new InfoBox({
disableAutoPan: true
,isHidden:false
,pixelOffset: new google.maps.Size(-10, -10)
,closeBoxURL: ""
,pane: "mapPane"
,enableEventPropagation: true
});
//setting up the div
var boxText1 = document.createElement("div");
boxText1.id = "boxText1";
boxText1.className = "labelText";
boxText1.innerHTML = title1;//this is created earlier
//the marker event listener - the marker and coordinates are also set up earlier
google.maps.event.addListener(_marker1, 'click', function() {
infobox.content_ = boxText1;
infobox.position_ = mkLatLng1;
infobox.open(map);
});
//so far everything ok. When the user clicks the marker the infobox pops up - but.....
google.maps.event.addDomListener(boxText1,'click',function(){ alert('clicked!') });//doesn't work
我尝试了多种其他选择,但它们都是在黑暗中拍摄的。在信息框上监听点击事件的最佳方式是什么?
谢谢
【问题讨论】:
-
小十字会关闭信息框吗?
-
您的信息框的文本可以包含 html 对吗?因此,您可以在其中创建一个 div,并监听该 div 上的点击。
-
没有小十字架。你在考虑信息窗口吗?
-
信息框里面确实有一个 div,我一直在尝试监听点击它,但没有运气。
-
是的,我正在考虑信息窗口。哦!
标签: google-maps