У меня 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 кода и соответственно без карты. Помогите понять проблему пожалуйста...
_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны