2009-08-20 28 views
1

我正在使用jQuery的thickbox,并希望将其用于Google地图链接。Thickbox和谷歌地图链接

我看到的方法对我使用的链接(URL)格式不起作用。

的URL格式:哥伦比亚

http://maps.google.com/?q=1200宾夕法尼亚大街SE,华盛顿区,20003

所以,如果我用这个:

<a class='thickbox' href='http://maps.google.com/?q=1200 Pennsylvania Ave SE, Washington, District of Columbia, 20003'> 
    Map 
</a> 

它只是重定向到Google地图页面,而不是用Google地图打开弹出窗口。我试图在Ajax调用追加到URL

?height=300&width=300 

但它不工作

回答

2

我发布了一个单独的答案,因为有一种不同的方式来实现这一点 - 没有整个谷歌地图页面在Thickbox中 - 我们只是想要地图本身。

此方法将地图置于页面上的隐藏iframe中。这是Thickbox的“内联内容”方法。

<a href="#TB_inlinemodalContent?height=410&width=505&inlineId=hiddenDiv" title="add a caption to title attribute/or leave blank" class="thickbox">Show hidden modal content.</a> 

<div id="hiddenDiv" style="display:none;"> 
    <iframe width="500" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/?q=1200 Pennsylvania Ave SE, Washington, District of Columbia, 20003&amp;t=h&amp;output=embed"></iframe> 
</div> 

通过增加output=embed我们得到地图本身在iframe。 t=h使之成为卫星地图。您可以将这些添加到原始方法中的链接中(直接打开iframe),但为Google地图和Thickbox混合使用URL参数似乎会让它失去作用。

+0

这正是我需要的,谢谢!从我投票 – 2012-05-16 13:46:04

0

也许是因为你有这样的一部分:

http://maps.google.com/?q= 

在你的链接两次?

+0

修复了错字,但这不是问题的一部分,只是一个错字 – 2009-08-20 17:34:46

0

您可能需要删除你的双

http://maps.google.com/?q=

为jjclarkson说,但你还需要逃避的空间在您的地址。

所以这个:

<a class='thickbox' href='http://maps.google.com/?q=http://maps.google.com/?q=1200 Pennsylvania Ave SE, Washington, District of Columbia, 20003'> 
    Map 
</a> 

变成这样:

<a class='thickbox' href='http://maps.google.com/?q=http://maps.google.com/?q=1200%20Pennsylvania%20Ave%20SE%2C%20Washington%2C%20District%20of%20Columbia%2C%2020003'> 
    Map 
</a> 

网址都需要有大多数非字母数字字符转义。

+0

修正了错字,但这不是问题的一部分,只是一个错字。至于空间,我可以添加%20,但链接仍然是 – 2009-08-20 17:35:33

2

要在ThickBox的iframe中打开网址,就需要追加给你的网址:

&KeepThis=true&TB_iframe=true&height=400&width=600 

见iFrame内容的ThickBox说明。

你确实应该删除双http://maps.google.com/?q=,但它应该仍然工作,如果你不逃避空间(这不是很好的做法)。