[英]Tweet button and infoWindow
我想將Tweet按鈕集成到Google Maps v3 infoWindow(infoBox)中,但沒有成功。 當然,我使用的腳本可以在一個簡單的頁面上運行。 我在模板文件中設置了twitter的js,在gmaps javascript文件的html變量中添加了錨點:... Tweet ...
現在,如果我將鼠標懸停在錨鏈接上,則只能看到“ Tweet”文本,並且看不到“ Tweet grapic”按鈕。 如果單擊此按鈕,Twitter站點將加載但不共享任何內容。
使用Facebook Like按鈕,我必須實現一行代碼,然后運行“ domready”事件。
Twitter如何做?
我遇到了同樣的問題,但是越來越接近解決它。
我猜您正在使用標准的Twitter示例 ,在其中添加<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>
因此問題很可能是infoWindow沒有附加到DOM上 。
Google Maps V3 API InfoWindow類的事件為“ 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");
});
請記住,我還沒有解決這個問題:)
讓我們來解決這個問題吧!
只需為任何名為InfoWindow對象的名稱更改infobox,gyaresu的回答就可以了,但是只能使用一次。
google.maps.event.addListener(infobox, 'domready', function(event) {
FB.XFBML.parse();
twttr.widgets.load();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.