Пытаюсь поменять yandex карты.
Имеется функция mapInit(); , которая просто инициализирует карту, когда документ готов.
Далее вот такой код:
function createMapLang() {
let lang = localStorage.getItem('lang');
var newMap = `<script data-change='true' src="https://api-maps.yandex.ru/2.1/?apikey=f6857b56-4852-45e5-8221-f84bb63b1169&lang=${lang}"></script>`
$('body').append(newMap);
mapInit();
}
createMapLang();
$('.lang-list__link').each(function() {
$(this).click(function() {
let lang = $(this).attr('data-lang');
localStorage.setItem('lang', lang);
window.location.reload();
})
})
При смене языка, в локальное хранилище заносится код языка и перезагружается страница, когда страница перезагружена вызывается createMapLang, которая генерирует новый script и вставляет на страницу.
Но в консоле получаю такую ошибку:
ReferenceError: ymaps is not defined
Я думаю это может быть свзяно с тем, что я не в тот момент добавляю скрипт, или после добавления скрипта он еще не успел загрузиться, какие могут быть причины?