Клуб API Карт

YMaps и Sencha Touch

Пост в архиве.

Доброго времени суток!

Хочу использовать яндекс карты в веб-приложении написанном на Sencha Touch.

Создал простейший контейнер для отображения карты:

Ext.define('ATMap.view.Map', {
    extend: 'Ext.Component',
id: 'ymap',
statics: {
        map: null
},
initialize: function () {
        this.callParent(arguments);

if (this.map) return;
var ymap = window.ymaps;

if (ymap == null) {
            this.update('No yandex.map library loaded');
} else {
            ymap.ready(function(){
                ymap.Map('ymap', {
                    center: [55.76, 37.64],
zoom: 10
                });
            });
}
}});

 

Приложение всегда вылетает с ошибкой "TypeError: undefined is not a function" на строчке

this.container.events.setParent(new imports.event.Mapper(this.events, this.createEventMappingTable()));

а именно undefined функция createEventMappingTable(), хотя выше в исходниках она присутствует.

Делал контейнер для карты напрямую в html файле проекта, тот же результат, так же пробовал внутри вышеописанного компонента указать явно его html содержимое как <div id="ymap"></div> и т.д.

Без включения скриптов сенчи все работает. В чем может быть причина такой ошибки? Как еще можно изолировать карты от влияния сенчи?

Спасибо!

 

3 комментария

Я бы проверил контекст вызова

Если этот метод отсутствует, возможно this указывает не на то что нужно

Sergey Konstantinov
27 января 2016, 23:13
Без живого примера сложно что-то понять.
Забыл "new" перед "ymaps.Map"