You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Мне необходимо обрабатывать ситуации когда произошла какая-то ошибка при инициализации карт
Как пример: карты заблокированы в определенном регионе
loadYmap(ymapConfig).then(()=>{// do some}).catch(()=>{// do some})
Вариант решения
exportfunctionymapLoader(settings={}){returnnewPromise((res,rej)=>{if(window.ymaps)returnres();if(document.getElementById('vue-yandex-maps')){emitter.$on('scriptIsLoaded',res);return}constyandexMapScript=document.createElement('SCRIPT');const{
apiKey ='',
lang ='ru_RU',
version ='2.1',
coordorder ='latlong',
debug =false,
enterprise =false,}=settings;constmode=debug ? 'debug' : 'release';constsettingsPart=`lang=${lang}${apiKey&&`&apikey=${apiKey}`}&mode=${mode}&coordorder=${coordorder}`;constlink=`https://${enterprise ? 'enterprise.' : ''}api-maps.yandex.ru/${version}/?${settingsPart}`;yandexMapScript.setAttribute('src',link);yandexMapScript.setAttribute('async','');yandexMapScript.setAttribute('defer','');yandexMapScript.setAttribute('id','vue-yandex-maps');document.head.appendChild(yandexMapScript);emitter.scriptIsNotAttached=false;yandexMapScript.onload=()=>{ymaps.ready(()=>{emitter.ymapReady=true;emitter.$emit('scriptIsLoaded');res();},rej);// Вторым параметром в ready передаем коллбэк для ошибки};// На практике этой обработки недостаточно, так как этот скрипт может загрузиться успешно, // но этот скрипт загружает еще один скрипт с другим доменом и там происходит ошибкаyandexMapScript.onerror=rej;});}
The text was updated successfully, but these errors were encountered:
Мне необходимо обрабатывать ситуации когда произошла какая-то ошибка при инициализации карт
Как пример: карты заблокированы в определенном регионе
Вариант решения
The text was updated successfully, but these errors were encountered: