无法在Google地图信息框上添加活动

Sum*_*Jha 7 javascript-events google-maps-api-3 sencha-touch-2 infobox

我正在使用带有Google Map V3的Infobox(附图).在点击Infobox时,我想进入详细信息页面.但是我无法在信息框上添加点击监听器.这是我正在使用的代码:

在此输入图像描述

这是我的信息框配置:

    var ib = new InfoBox({
        alignBottom : true,
        disableAutoPan: false,
        maxWidth: 0,
        pixelOffset: new google.maps.Size(-125, -50),
        zIndex: null,
        closeBoxURL: "",
        infoBoxClearance: new google.maps.Size(1, 1),
        isHidden: false,
        pane: "floatPane",
        enableEventPropagation:false
    });
Run Code Online (Sandbox Code Playgroud)

我添加了这个信息框的监听器:

    google.maps.event.addListener(ib, 'domready', function() {
        if(Ext.get(ib.div_)){
            Ext.get(ib.div_).on('click', function(){
                console.log('test on click')
            }, this);

            Ext.get(ib.div_).on('mousedown', function(){
                console.log('test on click')
            }, this);
        }
    });
Run Code Online (Sandbox Code Playgroud)

虽然enableEventPropagation = false,事件不会传播到MAP,但没有事件在信息框上工作.

虽然enableEventPropagation = true,事件(点击,mousedown)工作,但点击信息框的其他部分,它需要我映射或另一个标记.

不知道怎么解决这个问题?

kas*_*der 0

您可以将侦听器附加到 InfoBox 的任何内容。

var boxText = document.createElement('div'); 
var myOptions = {
  content: boxText,
   ... 
}
var ib = new InfoBox(myOptions);
ib.open(theMap, marker);
boxText.setAttribute('onclick', 'alert("InfoBox clicked")');
Run Code Online (Sandbox Code Playgroud)

这对你有用吗?