1

我正在尝试向 GeoExt 应用程序添加一个按钮。理想情况下,我希望按钮工作流程是:

  1. 用户点击按钮。按钮现在“切换”为打开。
  2. 用户点击地图上的某处。
  3. (这总是有效的)按钮后面的函数被调用。
  4. 按钮关闭。

我有这个作为我的选项代码:

/* 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: 收到控制台错误 TypeError: this.control is undefined。步骤 1 到 3(上面)以这种方式工作。

b)如果我删除toggleGroup,我不会收到错误消息(除非enableToggle已设置为 true),但是按钮首先不会切换(步骤 2 和 3 是使用此方法发生的唯一步骤)。


还有第二个(更大!)问题 - 用户是否切换按钮无关紧要,每次我点击地图时都会触发该功能!

所以我的问题 - 我如何让这个按钮切换工作流程工作?谢谢。

4

1 回答 1

0

我对 geoext 的了解不够多,但如果我正确理解了这个问题,当你点击地图时,你不能取消按钮。我已经设置了一个示例,我希望它与您的问题有点相似:https ://fiddle.sencha.com/#fiddle/3ms

解决方案只是调用

Ext.getCmp('streetview_tool').toggle(false)

单击面板的主体时。请注意,此示例使用 3.4。让我知道这是否有帮助,或者我缺少的图片是否还有更多内容。

于 2014-02-18T12:36:57.333 回答