Добрый день! Попытался воспользоваться ФАКами, справками и поиском ничего не нашел (может плохо искал?). Наверняка тема уже пережованная и не такая специфическая как мне могло показаться. Итак, что у меня не получается?
ЗАДАЧА: Необходимо посредствам плагина Fancybox открыть Яндекс карту в модальном окне. Реализовано так - есть некая ссылка в верстке
<a href="/map.php?ID=12345" class="ya-map">Карта</a>
Есть JS который при нажатии на данную ссылку подключает fancybox который в свою очередь смотрит hreff ссылки и пытается отобразить в модальном окне то, что вернется от /map.php?ID=12345
Вот код:
$(function() {
$(".ya-map").fancybox({'padding': 0, 'titleShow': false}
}
Что происходит в файле /map.php - по ID=12345 из базы выбираются некоторые данные по ID для отображения их в баллуне на карте и подключается непосредственно сам код вызова карты. Вот код:
<script src="http://api-maps.yandex.ru
/1.1/?key=############### " type="text/javascript"></script>###############&wizard=co nstructor <script type="text/javascript">
YMaps.jQuery(window).load(function () {
var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]
map.setCenter(new YMaps.GeoPoint(<?=$CORDS?>), 16, YMaps.MapType.MAP);
map.addControl(new YMaps.Zoom()
map.addControl(new YMaps.ToolBar()
map.addControl(new YMaps.TypeControl()
map.openBalloon(new YMaps.GeoPoint(<?=$CORDS?>), "<div style='color: #67797D; font-size: 20px; padding-bottom: 5px;'><?=htmlspecialchars
($arElement['NAME'])?></d iv><b>Координаты для GPS:</b> <?=htmlspecialchars($CORDS)?></span>", {hasCloseButton:false, maxWidth:400, margin: 10}
function createObject (type, point, style, description) {
var allowObjects = ["Placemark", "Polyline", "Polygon"],
index = YMaps.jQuery.inArray( type, allowObjects),
constructor = allowObjects[(index == -1) ? 0 : index];
description = description || "";
var object = new YMaps[constructor](point, {style: style, hasBalloon : !!description}
object.description = description;
return object;
}
}
</script>
<!-- Yandex.Map --><div id="YMapsID" style="width:100%; height:600px;"></div><!-- End //Yandex.Map -->
Решетки мною вставлены преднамеренно, если зайти по прямой ссылке /map.php?ID=12345 карта отображается как нужно, без проблем. Так же при нажатии на ссылку срабатывает фансибокс и модальное окно так же без проблем показывается, в консоли проблем и ошибок никаких нет, все работает отлично.
В ЧЕМ ПРОБЛЕМА: Модальное окно фансибокса открывается, но в нем пусто!!! Это я так понимаю то же самое, что вставить вызов яндекс.карты в див, у которого стиль прописан display: none; а потом попытаться из скрипта сделать видимым данный див $("div").show(
ВОПРОС: Посдкажите пожалуйста, неужели не возможно отображать яндекс.карту в динмических каких либо элементах, которые генерируются скриптом, а не при загрузке страницы??? Если можно, дайти ссылку на мануал где почитать как это делать!???? Я больше чем уверен, что это возможно, иначе это просто какая то нелепость будет!
Заранее благодарен за помощь!!!