如何启用动态链接在Google地图气球中打开thickbox?

问题描述:

我正在使用下面的代码打开thickbox动态生成的锚标记,但它不是第一次运行,但第二次运行。如何启用动态链接在Google地图气球中打开thickbox?

function createMarker(point, InnerAddress) { 
//Other Code 
var strFBUserID = new GMarker(point, markerOptions); 

GEvent.addListener(strFBUserID, "click", function() { 
    strFBUserID.openInfoWindowHtml(InnerAddress.split('$$')[0]); 
    tb_init('a.gmapthickbox');//works second time 
}); 

allmarkers.push(strFBUserID); 
return strFBUserID; 
} 

看来tb_init之前,openInfoWindowHtml,有什么办法解决这个问题?我试过setTimeOut但没有成功。任何帮助将不胜感激。

尝试在您的地图实例上收听infowindowopen事件,然后致电tb_init。一旦DOM中的内容准备就绪,它就应该被触发。 http://code.google.com/apis/maps/documentation/javascript/v2/reference.html#GMap2.infowindowopen

+0

谢谢@Dave的回复。我没有检查infowindowopen事件,但我解决了我的问题,使用下面的代码: var strFBUserID = new GMarker(point,markerOptions); var openFnCallback = function(){tb_init('a.thickbox'); }; (); GEvent.addListener(strFBUserID,“click”,function(){ strFBUserID.openInfoWindowHtml(InnerAddress.split('$$')[0],{onOpenFn:openFnCallback}); }); 再次感谢。 :) – 2012-01-31 07:39:10

+0

噢好主意,我忘了'onOpenFn' - 这是对现有代码的小得多的改变。 – djd 2012-02-01 00:21:44