Клуб API Карт

Загрузка карты в уже готовую страницу

Пост в архиве.

Привет.

У меня совсем простая задача.

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

Я пошел простым путем:

1. сделал карту на конструкторе карт, скопировал код

2. при нажатии на кнопку, вставляю этот код в нужное место.

3. Карта не появляется, валится ошибка. TypeError: z.parentNode is null
Провал :(

 

Вариант с подключением

<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>

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

 

Так вот, как это можно обойти?

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

4 комментария

Можно же при нажатии на кнопку создать тэг script с урлом к вашей карте и добавить его в DOM?

 

изначально так и делалось

Вставляйте в iframe - и никаких проблем не будет.

Спасибо, с iframe заработало.

Теперь возникла проблема, когда скрываешь div в котором находится iframe, 2 раза в секунду вываливается ошибка: TypeError: s is null