[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ajax и Yandex карта
Kumirska
Доброго всем времени суток! Возникла проблема, не могу подгрузить яндех карты.
У меня 3 карты, которые я создал через конструктор карт. Есть три встраиваемых блока :


<script type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=nz1hxVsi_RLwivQJSUrY3BOTz_G1T7Rg&width=600&height=450"></script>

<script
type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=n70exU5aoJMUfuMiXGpKVBjg5iRc5V1l&width=600&height=450"></script>

<script
type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=x6L9cP1PhhoPE8l6eaWvhxn3u4PhjwJm&width=600&height=450"></script>


теперь я хочу подгружать их по клику на соответствующую ссылку. То есть справа будет 3 ссылки, по клику меняется карта без перезагрузки страницы.

Подгружать все карты сразу в невидимых блоках и показывать по клику- не вариант, ссылки висят в шапке сайта на всех страницах, очень сильно тормозят загрузку сайта. Пробовал вынести карты в отдельный файл:

<!--map.html-->
<div id="map1">
<script
type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=nz1hxVsi_RLwivQJSUrY3BOTz_G1T7Rg&width=600&height=450"></script>
</div>
<div
id="map2">
<script
type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=n70exU5aoJMUfuMiXGpKVBjg5iRc5V1l&width=600&height=450"></script>
</div>
<div
id="map3">
<script
type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=x6L9cP1PhhoPE8l6eaWvhxn3u4PhjwJm&width=600&height=450"></script>
</div>



и вызывать их запросом, накидал для пробы:

<script type="text/javascript">
function
onMapChange2(){
$("#Ymaps").load("map.html #map2");
}

function onMapClick(){
var modalShadow = document.getElementById("modalShadow");
modalShadow.style.display = "block";

var changeMap2 = document.getElementById('link-map2');
changeMap2.onclick = onMapChange2;
}
window.onload = function(){
var mapStart = document.getElementById('mapStart');
mapStart.onclick = onMapClick;
}
</script>

Это шаблон вывода самой формочки, слева меню с ссылками офисов города, справа блок с картой, первая карта подгружается сразу, остальные по клику.

<div id="modalShadow">
<div
id="f_modal_block">
<div
id="map_places">
<ul>
<li><span
id="link-map1">Производство</span></li>
<li><span
id="link-map2">Курчатова</span></li>
<li><span
id="link-map3">Цимлянск</span></li>
<ul>
</div>
<div
id="Ymaps">
<div
id="map1">
<script
type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=nz1hxVsi_RLwivQJSUrY3BOTz_G1T7Rg&width=600&height=450"></script>
</div>
</div>
</div>
</div>


Но они не открываются...грузится блок нужный в нужное место, но без js кода и соответственно без карты. Помогите понять проблему пожалуйста...

_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.