api-maps.yandex.ru загрузка через javascript

День добрый! Мне нужно карту из конструктора загрузить с помощью JS либо как то узнать что карта загрузилась, как указывать DOM элемент в который карта должна загрузиться и как указывать коллбеки - не нашёл, вообще документации 0.

Все ведут сюда, а там... https://tech.yandex.ru/maps/jsapi/doc/2.1/quick-start/index-docpage/

В идеале хочу использовать $.getScript(...)


Ответы (1 шт):

Автор решения: Eugene Kuznetsov

В вашем основном скрипте создаете элемент 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&amp&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>

→ Ссылка