簡體   English   中英

鳴叫按鈕和infoWindow

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM