dicem
@dicem

Почему ymaps.ready() не работает?

Здравствуйте, скрипт
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&amp;apikey="some_api_key"></script>

загружается вне контекста Vue, для проверки загрузки API использую ymaps.ready()
...
mounted() {
            ymaps.ready({
                successCallback: () => {
                    this.yaMapInit()
                }
            })
},
...
methods: {
...
yaMapInit() {
                let id = this.forId

                try {
                    this.SuggestView = new ymaps.SuggestView(id, {
                        provider: { suggest: (...args) => this.suggest(...args) },
                        boundedBy: this.bounds[this.brandCode],
                        container: document.getElementById(id + '-container'),
                        results: 50
                    })

                    this.SuggestView.events.add('select', e => {
                        this.geoValue = JSON.parse(e.get('item').jsonData).city
                        localStorage.setItem('location.city', JSON.parse(e.get('item').jsonData).city)
                    })

                    console.log('yamaps init')
                } catch (e) {
                    console.log(`yamaps init error: ${e}`)
                }
            },
...
}


И каждый раз при первой загрузке страницы я получаю init error,
ymaps.SuggestView is not constructor
В чем может быть проблема?
  • Вопрос задан
  • 1178 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы