我想将Tweet按钮集成到Google Maps v3 infoWindow(infoBox)中,但我没有成功。当然我使用的脚本在一个简单的页面上工作。我在我的模板文件中设置了twitter的js,将锚点添加到gmaps javascript文件中的html变量: ... 鸣叫 ...
如果我将鼠标悬停在锚点链接上,并且没有可见的Tweet图形按钮,那么现在可以看到的只是“推文”文本。如果我点击此按钮,Twitter网站会加载但不会共享任何内容。
使用Facebook Like按钮我必须实现一行代码,以便“domready”事件运行。
如何做到这一点?
答案 0 :(得分: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>
所以问题可能是infoWindow没有附加到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");
});
请记住,我还没有这个工作:)
让我们排除这个傻逼!
答案 1 :(得分:0)
只需更改任何名为InfoWindow对象的信息框,gyaresu回答即可,但只能使用一次。
google.maps.event.addListener(infobox, 'domready', function(event) {
FB.XFBML.parse();
twttr.widgets.load();
});