1

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

我看到的方法不适用于我正在使用的链接(URL)格式。

网址格式:

http://maps.google.com/?q=1200 Pennsylvania Ave SE,华盛顿,哥伦比亚特区,20003

所以如果我使用这个:

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

它只是重定向到谷歌地图页面,而不是使用谷歌地图打开弹出窗口。我正在尝试将 ajax 调用附加到 URL

?height=300&width=300

但它不工作

4

4 回答 4

2

要在 Thickbox 的 iframe 中打开 URL,您需要将其附加到您的 URL:

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

请参阅有关 iFramed 内容的ThickBox说明。

您确实应该删除双精度,http://maps.google.com/?q=但如果您不转义空格,它仍然可以工作(并不是说这是一个好习惯)。

于 2009-08-20T17:20:04.997 回答
2

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

此方法将地图放置在页面上的隐藏 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 Maps 和 Thickbox 的 URL 参数似乎有点丢掉它。

于 2009-08-20T17:44:39.767 回答
0

也许是因为你有这个部分:

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

在您的链接中两次?

于 2009-08-20T17:12:15.823 回答
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>

URL 需要对大多数非字母数字字符进行转义。

于 2009-08-20T17:16:03.600 回答