0

在 JavaScript 中,我发现了一个用于 google maps API v3 的简洁小插件,名为InfoBubble。它在使高度定制的信息窗口变得容易方面做得很好。我似乎在那里找不到的是如何通过函数调用而不是单击选项卡按钮打开特定选项卡。我尝试了 setTabActive(index) 这是插件的功能之一,但它似乎不起作用。我是否遗漏了一些明显的东西,或者不仅仅是在 js 文件中挖掘正确的功能?

作为参考,这是我的代码:

var center = new google.maps.LatLng(//...getting some lat/lng coords...
var bubble = new InfoBubble(
{
    map: motherMap,
    position: center,
    minHeight: 250,
    maxHeight: 250,
    minWidth: 250,
    maxWidth: 250,
    tabClassName: "contentTab",
    padding: 3
});

//...creating tabs, getting which tab should be opened, setting the value of tabToShow and so on...

//at this point I've checked with console.out() and tabToShow is a number 0-2
bubble.setTabActive(tabToShow);

即使使用该代码,每次都会打开第一个选项卡。任何想法将不胜感激。

编辑:实际上,我在这里发布后就自己解决了这个问题......在仔细查看代码后,我注意到作者,无论出于何种原因,使用从 1 开始的编号而不是 0。这是一个不错的插件,但肯定需要一些文档.. .

4

1 回答 1

0

确保选项卡已打开(您可以使用 isOpen() 方法检查)。

如果需要,可以修改 InfoBubble.prototype.open 以打开特定选项卡:

  window.setTimeout(function() {
         that.open_(opt_map, opt_anchor);
         that.setTabActive(_defaultTab);        
  }, 0);
于 2012-09-04T15:02:11.953 回答