1
Яндекс Карты Во Всплывающем Окне
Автор z1129, 29 июля 2014 22:27
Сообщений в теме: 10
#1
Отправлено 29 Июль 2014 - 22:27
Здравствуйте.
Возможно ли, чтоб яндекс карты ( интерактивные ) открывались во всплывающем окне?
Чтоб кликнул по ссылке и появлялось окно с картой.
SL-203304
Возможно ли, чтоб яндекс карты ( интерактивные ) открывались во всплывающем окне?
Чтоб кликнул по ссылке и появлялось окно с картой.
SL-203304
#2
Отправлено 30 Июль 2014 - 01:31
Да, это реализовать можно. В файл main.js вам понадобится добавить код вида
где в качестве текста "Код вашей карты" вам необходимо будет вставить в одинарные кавычки код вашей сгенерированной карты (код карты не должен в себе содержать одинарные кавычки и символы переноса строки). В самом же шаблоне или созданной странице используйте ссылку на карту вида
$(function() { $('.viewMaps').click(function() { var winp = window.open('', '','height=800,width=800,toolbar=no,' + 'titlebar=0,status=0,menubar=yes,location= no,scrollbars=1'); winp.document.write('Код вашей карты'); return (false); }); });
где в качестве текста "Код вашей карты" вам необходимо будет вставить в одинарные кавычки код вашей сгенерированной карты (код карты не должен в себе содержать одинарные кавычки и символы переноса строки). В самом же шаблоне или созданной странице используйте ссылку на карту вида
<a href="#" class="viewMaps">Показать карту</a>
#3
Отправлено 30 Июль 2014 - 07:50
Я так попробовал - при нажатии на ссылку появилось новое пустое окно
.
А можно, чтоб вот в таком окне ?
Как такие окна вызывать я тут видел http://forum.storela...плывающее-окно/ , но как в него запихнуть код с картой не видел.
А можно, чтоб вот в таком окне ?
Как такие окна вызывать я тут видел http://forum.storela...плывающее-окно/ , но как в него запихнуть код с картой не видел.
#4
Отправлено 31 Июль 2014 - 03:33
Лучше тогда использовать сл.тему:
http://forum.storela...post__p__147814
только изменим немного код:
меняем на:
не забудьте вставить код карты
http://forum.storela...post__p__147814
только изменим немного код:
<!-- Обратный звонок --> <div class="iframe_block_back1" style="display:none;"><center> <form method="post" action="{FEEDBACK_URL}" class="call_back" enctype="multipart/form-data"> <div class="section-caption c-orange"><strong>Заказать обратный звонок</strong></div> <div class="iframe_click"> {% IF FORM_NOTICE %}<h3 class="red">{FORM_NOTICE | nl2br}</h3><br />{% ENDIF %} <label for="feedback_name">Имя: <span class="red">*</span></label> <input id="feedback_name" name="form[feedback_name]" value="" pattern=".{3,}" minlength="3" type="text" required="required" class="input required" /> <br /><label for="feedback_message">Телефон: <span class="red">*</span> +7</label> <input id="feedback_message" name="form[feedback_message]" pattern=".{3,}" required="required" class="required input" type="tel" value="" minlength="5" /> <input id="feedback_еmail" name="form[feedback_email]" value="info@geekzona.ru" type="hidden" /> <br /><label for="feedback_clock">Дополнительно</label> <textarea id="feedback_clock" name="form[feedback_clock]" pattern=".{3,}" value="" minlength="5" class="input" rows="3"></textarea> <input type="submit" class="button_med" value="Позвоните мне" /> </div> </form> </center></div> <div class="oneclick_s1"><a class="zakaz" id="openFlippingBook" title="Обратный звонок" href="#">Заказать звонок</a></div> <script type="text/javascript"> $('a#openFlippingBook').click(function(e) { e.preventDefault(); var width = 500; var height = 300; var content = $('.iframe_block_back1').children().clone(true).addClass('formback'); $.fn.nyroModalManual({ width: width, height: height, content: content, minWidth: width, minHeight: height, gallery: null, endShowContent: function() { $('form').append('<input type="hidden" name="hash" value="{HASH}" />'); $(".formback form").validate({ submitHandler: function(form) { $(form).find('#feedback_message').val($(form).find('#feedback_message').val() + ' Дополнительно: ' + $(form).find('#feedback_clock').val()); $(form).hide().before('<center>Подождите, идет отправка формы...</center>'); form.submit(); }, rules: { 'form[feedback_name]': { required: true, minlength: 3 }, 'form[feedback_message]': { required: true, minlength: 3 } } }); } }); }); </script> <!-- end Обратный звонок -->
меняем на:
<div class="iframe_block_back1" style="display:none;"> тут вставляем код карты </div> <div class="oneclick_s1"><a class="zakaz" id="openFlippingBook" title="Карта" href="#">Показать на карте</a></div> <script type="text/javascript"> $('a#openFlippingBook').click(function(e) { e.preventDefault(); var width = 500; var height = 300; var content = $('.iframe_block_back1').children().clone(true).addClass('formback'); $.fn.nyroModalManual({ width: width, height: height, content: content, minWidth: width, minHeight: height, gallery: null }); }); </script>
не забудьте вставить код карты
#5
Отправлено 01 Август 2014 - 00:20
Пока появляется пустое окно. Может я что-нибудь не дописал?
Вот код, который у меня
Вот код, который у меня
<div class="iframe_block_back1" style="display:none;"> <script type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=HE_yr1BKgvtIu6ELRJDrxC_yEBYECJkR&width=600&height=450"></script> </div> <div class="oneclick_s1"><a class="zakaz" id="openFlippingBook" title="Карта" href="#">Показать на карте</a></div> <script type="text/javascript"> $('a#openFlippingBook').click(function(e) { e.preventDefault(); var width = 500; var height = 300; var content = $('.iframe_block_back1').children().clone(true).addClass('formback'); $.fn.nyroModalManual({ width: width, height: height, content: content, minWidth: width, minHeight: height, gallery: null }); }); </script>
#6
Отправлено 01 Август 2014 - 01:09
В данном случае проблема вероятно связанна с отображением содержимого nyroModal. В ранее приведенном мною коде не хватало тега <body> поверх <script>. Повторите инструкцию еще раз, только в main.js уже добавляйте
а в шаблон все так же строку
После этого карта будет отображаться в сплывающем окне.
$(function() { $('.viewMaps').click(function() { var winp = window.open('', '','height=465,width=615,toolbar=no,' + 'titlebar=0,status=0,menubar=yes,location= no,scrollbars=1'); winp.document.write('<body><script type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=HE_yr1BKgvtIu6ELRJDrxC_yEBYECJkR&width=600&height=450"></script></body>'); return (false); }); });
а в шаблон все так же строку
<a href="#" class="viewMaps">Показать карту</a>
После этого карта будет отображаться в сплывающем окне.
#7
Отправлено 01 Август 2014 - 08:44
С добавлением <body> поверх <script> все получилось:
. Спасибо огромное.
А может все-таки есть возможность, чтоб карта отображалась именно в таком окне ?
Не хочу показаться привередой, просто очень надо, чтоб все появляющиеся на сайте окна были одинаковыми. Если есть время, помогите, пожалуйста.
А может все-таки есть возможность, чтоб карта отображалась именно в таком окне ?
Не хочу показаться привередой, просто очень надо, чтоб все появляющиеся на сайте окна были одинаковыми. Если есть время, помогите, пожалуйста.
#8
Отправлено 02 Август 2014 - 01:01
Реализовать подобное отображение будет затруднительно, так как понадобится подключение другой библиотеки модального окна (fancybox), а у же с помощью неё попробовать реализовать задуманное. Но это так же не даст желаемый результат, так как визуально модальное окно (fancybox) будет отличатся от используемого по умолчанию (nyroModal).
#9
Отправлено 02 Август 2014 - 21:33
Понятно. Еще раз спасибо.
#10
Отправлено 06 Август 2014 - 13:06
Здравствуйте.
У меня получилось сделать карту в окне nyroModal: создал страницу, где есть только блок с картой и воспользовался этим кодом
Вроде все работает
Вот только у меня на сайте ссылки для просмотра карты есть в 3х местах и, получается, что этот код я тоже в 3х местах написал ( в HTML и на двух страницах ).
Можно ли как-нибудь вынести отдельно этот код в одно место?
У меня получилось сделать карту в окне nyroModal: создал страницу, где есть только блок с картой и воспользовался этим кодом
<a href="#" id="openFlippingBook">Открыть публикацию</a> <script type="text/javascript"> $('a#openFlippingBook').click(function(e) { e.preventDefault(); var width = 400; var height = 80; var content = '<iframe src="Ссылка на FlippingBook" width="'+width+'" height="'+height+'" align="left">Ваш браузер не поддерживает плавающие фреймы!</iframe>'; $.fn.nyroModalManual({ width: width, height: height, content: content, minWidth: width, minHeight: height, gallery: null }); return(false); }); </script>
Вроде все работает
Вот только у меня на сайте ссылки для просмотра карты есть в 3х местах и, получается, что этот код я тоже в 3х местах написал ( в HTML и на двух страницах ).
Можно ли как-нибудь вынести отдельно этот код в одно место?
#11
Отправлено 06 Август 2014 - 14:23
Извините, вроде сам разобрался.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных