我正在尝试向GeoExt应用程序添加一个按钮。理想情况下,我希望按钮工作流程是:
- 用户单击按钮。按钮现在"切换"为打开状态
- 用户单击地图上的某个位置
- (这总是有效的)按钮后面的函数被调用
- 按钮关闭
我有这个作为我的选项代码:
/* Options to be passed to my create function. */
options: {
tooltip: 'Google StreetView',
iconCls: "icon-streetview",
enableToggle: false,
pressed: false,
toggleGroup: "toolGroup",
id: "streetview_tool"
}
我可以将按钮添加到工具栏,但切换无法正常工作。我已经尝试了我能想到的几乎所有参数的组合。
a) 使用以上内容,我从GeoExt得到一个控制台错误:CCD_ 1。步骤1到3(如上)就是这样工作的。
b) 如果我删除toggleGroup
,我不会得到错误(除非enableToggle
已设置为true),但是按钮从一开始就不会切换(步骤2和3是使用此方法发生的唯一步骤)。
还有第二个(更大的!)问题-用户是否切换了按钮并不重要,每当我点击地图时,功能就会被触发!
所以我的问题是——我如何让这个按钮切换工作流程?谢谢
我对geoext的细节了解不够,但如果我正确理解这个问题,当你点击地图时,你就无法解开按钮。我设置了一个示例,希望它与您的问题足够相似:https://fiddle.sencha.com/#fiddle/3ms
该解决方案简单地称为
Ext.getCmp('streetview_tool').toggle(false)
当单击面板的主体时。请注意,此示例使用3.4。让我知道这是否有帮助,或者我缺少的图片是否还有更多。