添加谷歌地图infoBubble内的手风琴(从谷歌地图工具库)
问题描述:
我试图添加一个谷歌内部的一个jQuery的手风琴(http://jqueryui.com/demos/accordion/)映射infoBubble添加谷歌地图infoBubble内的手风琴(从谷歌地图工具库)
我第一添加类似于
的标记<div id="accordion">
<h3><a href="#">First header</a></h3>
<div>First content</div>
<h3><a href="#">Second header</a></h3>
<div>Second content</div>
</div>
到infoBubble。但我无法将任何事件附加到上述标记上。
当我尝试调用$(“#accordion”).accordion();在domready事件里面类似于
google.maps.event.addListener(infoBubble, 'domready', function() {
$("#accordion").accordion();
});
它似乎没有附加事件。
我不确定我的代码有什么问题。有人可以帮助我这个。
答
您的代码不起作用,因为它在信息存在的手风琴之前正在运行。您需要放置该代码,以便在设置infowindow的内容后调用该代码。它不仅需要在打开后运行,而且还需要在打开后运行几百毫秒。 (您必须在所有浏览器中进行测试才能找到合适的数量 - 我随意选择了500毫秒,并且工作正常)。查看Infobubble代码后,我很失望地发现,除非错过了某些内容,否则不会发生火灾当打开完成时。
不过,我能得到它的工作由您链接到并在标记的点击回调下面的例子将线122这个代码(infobubble打开后):
setTimeout(function() {
$("#accordion").accordion();
}, 500);
这不是一个最佳解决方案,但至少可以证明问题并希望能够找到正确的解决方案。
非常感谢。添加内容时,我修改了infobubble代码以触发domready事件。 – Sivakumar
嗨!您可以发布在infobubble.js中所做的更改吗?谢谢! –