2012-03-21 72 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(); 
}); 
相关问题