我正在使用JS3.0库在我的HERE地图上使用一个自定义创建的按钮。
我遵循了这里提供的支持工程师的建议:HERE Map UI JS - How to add custom buttons to the Map UI?
到目前为止,我已经能够让它正常工作,但我刚刚发现我需要能够根据各种业务规则来启用或禁用该按钮。但是看起来这里的控件或按钮没有"setDisabled“功能?
https://developer.here.com/documentation/maps/api_reference/H.ui.Control.html https://developer.here.com/documentation/maps/api_reference/H.ui.base.Button.html#.State (我看到有一个选项可以将按钮初始化为禁用,但不能更改现有按钮。每次我需要启用或禁用它时,创建一个新按钮似乎效率都很低。)
有什么建议吗?
发布于 2019-12-17 09:32:48
不要使用var ui = H.ui.UI.createDefault(map, maptypes, 'en-US');
行来禁用按钮,或者在"if“语句中查找您自己,以便在某个按钮被按下或语句被传递时访问它
发布于 2019-12-17 11:06:35
您可以使用从父类H.ui.base.Element
继承的setDisabled()
方法:
// assume custom UI control exists
customControl.setDisabled(true) // <- disables the control
customControl.setDisabled(false) // <- enables the control
Here是自定义UI控件的jsfiddle工作示例,它在单击后自动禁用。
有关更多详细信息,请参阅H.ui.Control#setDisabled()。
https://stackoverflow.com/questions/59361646
复制相似问题