我有个有趣的问题。当用户点击谷歌地图V3上的标记时,我使用infoBubble和JQuery来显示信息。如果我使用infoBubble.addTab('tab info',data),它就能工作;但如果我使用infoBubble.setContent(Content),就不行了;
示例代码:
// some code here
infoBubble = new InfoBubble({
maxWidth: 480,
maxHeight: 250,
borderRadius: 5,
arrowSize: 15,
borderWidth: 3,
arrowPosition: 50,
borderColor: '#D6D6D6'
});
$.post("/some/map/info", {id: this.get('id')}, function(data) {
// alert (data);
//infoBubble.addTab('Tab info', data);
infoBubble.setContent(data);
});
infoBubble.open(map, this);
// rest of the code此代码将打开信息窗口,但不会使用内容填充该窗口。如果我取消对警告框的注释,代码就可以工作了!不知道为什么。另外,如果我使用addTab函数,它也能正常工作。我已经使用FireBug进行了调试,所有变量和数据都被正确填充,并且在调试模式下-它可以工作!一旦我退出调试并且没有警报,它就不能工作,显示空气泡。如果有人能遮蔽一点阳光,我将不胜感激。
谢谢,亚历克斯
发布于 2016-02-26 02:49:43
我知道这是一个古老的问题,但我刚刚遇到了同样的问题,并找到了解决方案,所以我在这里张贴给任何可能遇到这个问题的人。
只需在$.post()函数中移动infoBubble.open即可
$.post("/some/map/info", {id: this.get('id')}, function(data) {
infoBubble.setContent(data);
infoBubble.open(map, this);
}); https://stackoverflow.com/questions/12578552
复制相似问题