2012-03-21 7 views
2

私はTweetボタンをGoogle Maps v3のinfoWindow(infoBox)に統合したいが、私は成功していない。もちろん、私が使っているスクリプトは簡単なページで動作します。私は、私のテンプレートファイルにTwitterのJSを設定するJavaScriptファイルgmaps内のHTML変数にアンカーを追加しました:今見ることができますどのようなTweetボタンとinfoWindow

は唯一の「ツイート」テキストの場合です... ... ツイート アンカーリンクの上にカーソルを置くと、Tweetのグラフィックボタンは表示されません。このボタンをクリックすると、Twitterサイトはロードされますが、何も共有しません。

Facebookのように、「domready」イベントが実行されると、コード行を実装する必要がありました。

Twitterの方法は?

+0

そうであればマークを付けてください。 – Gareth

答えて

1

私は同じ問題を抱えていますが、解決に近づいています。

私はあなたが好き<a>タグを追加し、標準Twitter examples使用している推測している:

<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 Classには、イベント「domready」があります。私は、これはまだ:)

レッツ・ソート動作するようになっていない心の中で

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"); 
}); 

ベアリング:私はその後、午前のようにあなたがjQueryを使用している場合

だからあなたのような何かをする必要がありこの吸盤!

+0

ありがとうミスター、働いています:) – subdesign

+0

一つは、データのURLプロパティを設定しましたが、共有ツイートにURLは表示されません。うーん.. – subdesign

+0

リンクの一部をハードコードし、IDを変数に追加しました:+ ID + いいえ 完全に動作します – subdesign

0

InfoWindowオブジェクトに名前をつけてinfoboxを変更するだけで、gyaresuの回答はOKですが、一度しか機能しません。

google.maps.event.addListener(infobox, 'domready', function(event) { 
    FB.XFBML.parse(); 
    twttr.widgets.load(); 
}); 
関連する問題