Javascript senchatouch:Can';不要将侦听器添加到映射。请帮忙?

Javascript senchatouch:Can';不要将侦听器添加到映射。请帮忙?,javascript,html,mobile,sencha-touch,extjs,Javascript,Html,Mobile,Sencha Touch,Extjs,在解决了我的标记问题后,我又遇到了另一个问题。这一次,在创建带有映射的面板后,我无法添加侦听器(使用on或addListener方法) 任何帮助都将不胜感激。代码如下: Ext.setup({ ... onReady: function() { var TopBar, Tabs, MapHome, Viewport, Homecard, Nearbycard, updateNearby; /* * HOME */ var markers

在解决了我的标记问题后,我又遇到了另一个问题。这一次,在创建带有映射的面板后,我无法添加侦听器(使用
on
addListener
方法)

任何帮助都将不胜感激。代码如下:

Ext.setup({
...
onReady: function() {

    var TopBar, Tabs, MapHome, Viewport, Homecard, Nearbycard, updateNearby;

    /* 
     *      HOME
     */
    var markersHome = [];
    MapHome = new Ext.Map({
        id: "maphome",
        title: 'Map',
        useCurrentLocation: true,
        listeners: {
            centerchange: function(comp, map){
                deleteOverlays(markersHome); //defined on another file
                addMarker(markersHome,map.center); //defined on another file
                showOverlays(markersHome,map); //defined on another file
            }
       },
        mapOptions : {
            mapTypeControl : false,
            navigationControl : false,
            streetViewControl : false,
            backgroundColor: 'transparent',
            disableDoubleClickZoom: true,
            zoom: 17,
            draggable: false,
            keyboardShortcuts: false,
            scrollwheel: false,
            mapTypeId: google.maps.MapTypeId.HYBRID
       }
    });


    Homecard = new Ext.Panel({
        title: "home",
        id: "homecard",
        iconCls: "home",
        items: [MapHome]
    });

    /* 
     *      NEARBY
     */
    Nearby = new Ext.List({
        scroll: 'vertical',
        height: '100%',
        styleHtml: true,
        store: new Ext.data.Store({
            model: 'Places', //defined on another file
            sorters: 'title',
            data: []
        }),
        itemTpl:['<div class="nearby-item" id="{id}">',
                    '<img alt="{title}" src="{imageUrl}" />',
                    '<h2>{title}</h2>',
                    '<p>{excerpt}</p>',
                '</div>']
    });

    Nearbycard = new Ext.Panel({
        fullscreen: true,
        iconCls: "list",
        title: "nearby",
        id: "nearbycard",
        items: [Nearby]
    });

    updateNearby = function() {
        console.log('updating!'); //debug purposes
        }
    MapHome.on('locationupdate',updateNearby); // <-- Here is the problem



    /*
     *      MAIN
     */

    TopBar = new Ext.Toolbar({
        dock: 'top',
        xtype: "toolbar",
        title: "<img class='titleLogo' src='css/images/logo.png' />",
        items: [

            { xtype: 'spacer' },
            {
                iconCls: 'settings9',
                iconMask: true,
                text: 'options'
            }
        ]
    });

    Tabs = new Ext.TabPanel({
        id: 'tabs',
        //fullscreen:true,
        dock: 'bottom',
        flex: 1,
        tabBar: {
            dock: 'bottom',
            layout: {
                pack: 'center'
            }
        },
        items: [ Homecard, Nearbycard ]
    });

    Viewport = new Ext.Panel({
        fullscreen:true,
        layout:{type:'vbox',align: 'stretch'},
        ui:'dark',
        items: [TopBar,Tabs],
    });
 }
});
Ext.setup({
...
onReady:function(){
var TopBar、选项卡、MapHome、视口、Homecard、Nearbycard、updateNearby;
/* 
*家
*/
var-markersome=[];
MapHome=新的外部地图({
id:“地图之家”,
标题:"地图",,
useCurrentLocation:true,
听众:{
中心更改:功能(组件、地图){
deleteOverlays(MarkerHome);//在另一个文件上定义
addMarker(markersHome,map.center);//在另一个文件上定义
showOverlays(markersHome,map);//在另一个文件上定义
}
},
地图选项:{
mapTypeControl:false,
导航控制:错误,
街景控制:错误,
背景色:“透明”,
禁用双击缩放:真,
缩放:17,
可拖动:错误,
键盘快捷键:false,
滚轮:错误,
mapTypeId:google.maps.mapTypeId.HYBRID
}
});
Homecard=新的外部面板({
标题:“家”,
id:“家庭卡”,
iconCls:“家”,
项目:[地图主页]
});
/* 
*附近
*/
附近=新的外部列表({
滚动:‘垂直’,
高度:“100%”,
是的,
存储:新的Ext.data.store({
模型:'Places',//在另一个文件上定义
分拣员:“标题”,
数据:[]
}),
第三方物流:['',
'',
“{title}”,
“{摘录}

”, ''] }); Nearbycard=新的外部面板({ 全屏:对, iconCls:“列表”, 标题:“附近”, id:“nearbycard”, 物品:[附近] }); updateNearby=函数(){ console.log('updateing!');//调试目的 } MapHome.on('locationupdate',updateNearby);//我想应该是这样的

MapHome.map.on(……………………);

看看这是否有效。如果不让我在这里知道,我会为你粘贴完美的代码:)

修复了它。我在定义变量时出错。上面的代码现在是正确的。