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)工作,但点击信息框的其他部分,它需要我映射或另一个标记.
不知道怎么解决这个问题?
您可以将侦听器附加到 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)
这对你有用吗?
| 归档时间: |
|
| 查看次数: |
5130 次 |
| 最近记录: |