2012-03-21 70 views
2

我想將Tweet按鈕集成到Google Maps v3 infoWindow(infoBox)中,但我沒有成功。當然,我使用的腳本在一個簡單的頁面上工作。我設置了Twitter的JS在我的模板文件,在gmaps javascript文件添加的錨點到HTML變量: ... 分享Tweet ...Tweet按鈕和infoWindow

什麼現在可以看到的是隻有「分享Tweet」文本,如果我將鼠標懸停在錨鏈接上,並且沒有看到Tweet圖片按鈕。如果我點擊這個按鈕,Twitter網站加載但不分享任何內容。

使用Facebook Like按鈕我必須實現一行代碼,以便「domready」事件運行。

如何操作Twitter?

+0

標記爲已回答,如果是。 – Gareth 2012-03-27 09:12:01

回答

1

我有同樣的問題,但越來越接近解決它。

我猜你正在使用標準Twitter examples在其中添加一個<a>標籤,如:

<a href="https://twitter.com/share" class="twitter-share-button" 
data-lang="en">Tweet</a> 

然後需要得到他們的JavaScript加載:

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0]; 
if(!d.getElementById(id)){js=d.createElement(s);js.id=id; 
js.src="//platform.twitter.com/widgets.js"; 
fjs.parentNode.insertBefore(js,fjs); 
}}(document,"script","twitter-wjs");</script> 

所以問題信息窗口可能沒有被附加到DOM

Google Maps V3 API InfoWindow Class有一個事件「domready」。

所以,如果你使用jQuery像我,那麼你需要做的是這樣的:在腦海

google.maps.event.addListener(bubble, 'domready', function(event) { 
     !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0]; 
     if(!d.getElementById(id)){js=d.createElement(s);js.id=id; 
     js.src="//platform.twitter.com/widgets.js"; 
     fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); 
}); 

軸承,我還沒有得到這個工作尚未:)

讓我們排序這吸盤了!

+0

謝謝先生,正在工作:) – subdesign 2012-03-21 17:40:08

+0

有一件事,我設置了data-url屬性,但沒有url出現在共享推文中。嗯.. – subdesign 2012-03-21 17:48:49

+0

所以我硬編碼鏈接的一部分,並添加了ID作爲變量,所以:+ ID + 沒有它的 完全工作 – subdesign 2012-03-21 19:29:48

0

只要更改信息框,無論命名爲InfoWindow對象,gyaresu答案都可以,但它只會工作一次。

google.maps.event.addListener(infobox, 'domready', function(event) { 
    FB.XFBML.parse(); 
    twttr.widgets.load(); 
}); 
相關問題