在GeoExt中使用toggleGroup的问题

时间:2014-02-12 16:46:11

标签: javascript extjs extjs3 geoext

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

  1. 用户点击按钮。按钮现在“切换”为开启。
  2. 用户点击地图上的某个位置。
  3. (这总是有效)调用按钮后面的函数。
  4. 按钮切换。
  5. 我将此作为我的选项代码:

    /* 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是唯一使用此方法发生的事情。)


    还有第二个(Bigger!)问题 - 用户是否切换按钮无关紧要,每次时间点击地图上的功能被触发!

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

1 个答案:

答案 0 :(得分:0)

我不太了解geoext的详细信息,但如果我正确理解了这个问题,那么在点击地图时就无法解开按钮。我已经设置了一个示例,我希望它与您的问题有些相似:https://fiddle.sencha.com/#fiddle/3ms

解决方案只需调用

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

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