2012-09-25 50 views
1

我有一個有趣的問題。我使用infoBubble和JQuery在用戶點擊谷歌地圖V3上的標記時顯示信息。 它工作,如果我使用infoBubble.addTab('標籤信息',數據);但不是如果我使用infoBubble.setContent(content);InfoBubble不支持AJAX調用

示例代碼:

// 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進行調試,所有的變量和數據都正確填充,並且處於調試模式 - 它可以工作!很快,當我沒有進行調試並且沒有任何警報時,它不起作用,顯示空泡。如果有人能夠遮擋一些光線,非常感謝。

感謝 亞歷克斯

+0

作爲請求是異步的,你打開的infoBubble設置內容之前中移動infoBubble.open。 – adeneo

回答

0

我知道這是一個老問題,但我只是碰到了同樣的問題,找到了解決辦法,所以我在這裏張貼任何人誰可能會遇到這個問題。

只需將$。員額()函數

$.post("/some/map/info", {id: this.get('id')}, function(data) { 
     infoBubble.setContent(data); 
     infoBubble.open(map, this); 
});