Google Earth Engine(GEE)——“不听”unlisten()实现面板的“隐身”

简介: Google Earth Engine(GEE)——“不听”unlisten()实现面板的“隐身”

unlisten()方法提供了删除在小部件上注册的回调函数的能力。这有助于防止触发只应发生一次或在某些情况下发生的事件。onClick() 或的返回值onChange()是一个 ID,可以传递给unlisten()它以使小部件停止调用该函数。要取消注册所有事件或特定类型unlisten()的事件,请分别调用不带参数或事件类型(例如 'click''change')参数。以下示例演示unlisten()如何方便打开和关闭面板:

函数:


unlisten(idOrType)

删除回调。

Deletes callbacks.


Arguments:

this:ui.widget (ui.Widget):

The ui.Widget instance.

idOrType (String, optional):

在回调注册期间由 onEventType() 函数返回的 ID、事件类型或什么都没有。如果传递了 ID,则删除相应的回调。如果传递了事件类型,则删除该类型的所有回调。如果没有传递任何内容,则删除所有回调。

Either an ID returned by an onEventType() function during callback registration, an event type, or nothing. If an ID is passed, the corresponding callback is deleted. If an event type is passed, all callbacks for that type are deleted. If nothing is passed, all callbacks are deleted.


代码:

//创建一个面板,最初是隐藏的。
var panel = ui.Panel({
  style: {
    width: '400px',
    shown: false//这里显示是false
  },
  widgets: [
    ui.Label('Click on the map to collapse the settings panel.')
  ]
});
// 创建一个按钮以取消隐藏面板。
var button = ui.Button({
  label: 'Open settings',
  onClick: function() {
    // 隐藏按钮。
    button.style().set('shown', false);
    // 显示面板。
    panel.style().set('shown', true);
    // 暂时使地图单击隐藏面板并显示按钮。
    var listenerId = Map.onClick(function() {
      panel.style().set('shown', false);
      button.style().set('shown', true);
      // 面板隐藏后,地图不应尝试通过监听点击来关闭它。
      Map.unlisten(listenerId);
    });
  }
});
// 将按钮添加到地图并将面板添加到根。
Map.add(button);
ui.root.insert(0, panel);


最后结果:

首先展现出来的是两个按钮


当点击第一个按钮时:


点击第二个按钮:


当点击地图的时候这两个按钮会同时再出现,面板则会消失。


相关文章
|
8月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2767 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
8月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
259 0
|
8月前
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
150 0
|
8月前
|
存储 编解码 数据可视化
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
【2月更文挑战第14天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,按照给定的地表分类数据,对每一种不同的地物类型,分别加以全球范围内随机抽样点自动批量选取的方法~
702 1
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
|
8月前
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
376 4
|
8月前
|
机器学习/深度学习 存储 人工智能
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
257 3
|
8月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
105 0
|
8月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
172 0
|
8月前
|
编解码
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
89 0
|
8月前
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
308 0