如何启用动态链接在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
谢谢@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
噢好主意,我忘了'onOpenFn' - 这是对现有代码的小得多的改变。 – djd 2012-02-01 00:21:44