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(……………………);
看看这是否有效。如果不让我在这里知道,我会为你粘贴完美的代码:)修复了它。我在定义变量时出错。上面的代码现在是正确的。