Клуб API Карт

Сайт на ajax и яндекс.карта. Как подружить?

golovnevivan
11 декабря 2013, 00:01

Доброе время суток! Сайт на ajax и при переходе на страницу контактов карта не отображается так как событие ready не происходит, если обновить страничку, то карта появится. Вопрос какую функцию вызвать чтобы карта отобразилась?
через YMaps.load(init) делать не хочется так как формирование ссылки на карту нужно максимально простое, да и не понимаю где сформировать урл карты для YMaps
Ссылка у меня имеет вид //api-maps.yandex.ru/services/constructor/1.0/js/?sid=NuZduat8SNWJ472EVDyg67IjAO7lRPnL

9 комментариев
Подписаться на комментарии к посту

Можно урл страницы?

да http://happythings.by/feedback только обращаю ваше внимание, что при нэйтивной загрузке карта откроется, перейдите с любой другой страницы на эту.

 

Сначала нужно дождаться загрузки страницы, потом уже инициализировать карту. Пока, судя по консоли, видно, что карта пытается вставить себя в ноду, которой ещё нет.

так событие ready (загрузки страницы не происходит) не происходит, это же ajax

ты же где-то вставляешь контент приехавший с сервера на страницу? Можно после этого самому бросать событие. А в обработчике слушать и делать что-то вроде:

var apiScript = document.createElement("script");
apiScript.src = "//api-maps.yandex.…";
apiScript.type = "text/javascript";
document.querySelector("#mapContainer").appendChild(apiScript);


Тогда по идее должно будет работать.

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

 

попробовал такой вариант, но не сработало

var s=$('#maps script').attr('src');
$('#maps script').attr('src',s+'?p=qwe');

Как говорится, лучше поздно, чем никогда.

Механизму вставки карты сносит кукушечку, так как  jQuery, который, видимо, там используется, выполняет динамически вставляемые script-элементы в вакууме. Поэтому просто задайте ноде с картой id и добавьте его в query-параметры подключения (типа, было ...js/?sid=..., а будет ..js/?sid=...&id=...).

А вообще лучше писать в саппорт. Клубик я не читаю, а вопросы из саппорта попадают ко мне в баг-трекер.

можно адрес почты куда писать?