Thickbox и Google Maps Ссылка - PullRequest
       37

Thickbox и Google Maps Ссылка

1 голос
/ 20 августа 2009

Я использую джиг-бокс JQuery и хочу использовать его для ссылок на карту Google.

Подход, который я видел, не работает для формата ссылки (URL), который я использую.

Формат 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>

он просто перенаправляет на страницу Google Maps вместо открытия всплывающего окна с картой Google. Я пытаюсь добавить вызов ajax к URL

?height=300&width=300

но не работает

Ответы [ 4 ]

2 голосов
/ 20 августа 2009

Я публикую отдельный ответ, потому что есть другой способ сделать это - не имея всей страницы карт Google в Thickbox - нам просто нужна сама карта.

Этот метод помещает карту в скрытый фрейм на странице. Это метод «встроенного содержимого» 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 напрямую), но смешивание параметров URL для Google Maps и Thickbox, кажется, немного отбрасывает его.

2 голосов
/ 20 августа 2009

Чтобы открыть URL-адреса в iframe в Thickbox, вам нужно добавить это к своему URL:

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

См. Инструкции ThickBox для содержимого iFramed.

Вы действительно должны удалить двойное http://maps.google.com/?q=, но оно все равно должно работать, если вы не выходите из пробелов (не то, чтобы это была хорошая практика).

0 голосов
/ 20 августа 2009

Возможно, вам понадобится удалить ваш двойной

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 должны быть экранированы большинство буквенно-цифровых символов.

0 голосов
/ 20 августа 2009

Может быть, это потому, что у вас есть эта часть:

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

В твоей ссылке дважды?

...