api-maps.yandex.ru загрузка через javascript
День добрый! Мне нужно карту из конструктора загрузить с помощью JS либо как то узнать что карта загрузилась, как указывать DOM элемент в который карта должна загрузиться и как указывать коллбеки - не нашёл, вообще документации 0.
Все ведут сюда, а там... https://tech.yandex.ru/maps/jsapi/doc/2.1/quick-start/index-docpage/
В идеале хочу использовать $.getScript(...)
Ответы (1 шт):
В вашем основном скрипте создаете элемент script, вешаете на него событие 'load', после того как скрипт будет загружен будет вызван колбэк, в котором пишите логику(на этом этапе скрипт уже загружен). В параметрах загружаемого конструктора указывается id контейнера в который необходимо вставить ваш конструктор (в примере 'id=mymap')
window.onload = () => {
const yandexScript = document.createElement('script');
yandexScript.setAttribute(
'src',
'https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A80d079877e1ccf70b87a4ddf83a992207f275df1a7040b2b4782c296d0faf859&width=500&height=400&id=mymap&&lang=ru_RU&scroll=true%22%3E%3C/script'
);
yandexScript.addEventListener('load', () => {
console.log('карта загружена');
});
document.body.appendChild(yandexScript);
}
<!DOCTYPE html>
<html>
<head>
<title>Пример с интерактивной картой в определенном контейнере</title>
</head>
<body>
<h1>Карта</h1>
<div id="mymap"></div>
</body>
</html>