Earth Engine предоставляет доступ к виджетам пользовательского интерфейса (UI) на стороне клиента через пакет ui
. Используйте пакет ui
для создания графических интерфейсов для сценариев Earth Engine. Эти интерфейсы могут включать в себя простые виджеты ввода, такие как кнопки и флажки, более сложные виджеты, такие как диаграммы и карты, панели для управления макетом пользовательского интерфейса и обработчики событий для взаимодействия между виджетами пользовательского интерфейса. Изучите полную функциональность API ui
на вкладке «Документы» в левой части редактора кода. В следующем примере пакет ui
используется для иллюстрации основных функций для создания виджета, определения поведения, когда пользователь щелкает виджет, и отображения виджета.
Привет, мир!
В этом примере представлен простой пользовательский интерфейс кнопки, отображаемой в консоли. Нажатие кнопки приводит к появлению сообщения «Привет, мир!». вывод на консоль:
// Make a button widget. var button = ui.Button('Click me!'); // Set a callback function to run when the // button is clicked. button.onClick(function() { print('Hello, world!'); }); // Display the button in the console. print(button);
Обратите внимание, что сначала кнопка создается с одним аргументом: ее меткой. Затем вызывается функция onClick()
кнопки. Аргумент onClick()
— это еще одна функция, которая будет запускаться при каждом нажатии кнопки. Этот механизм вызова функции (функция «обратного вызова») при возникновении события называется «обработчиком событий» и широко используется в библиотеке пользовательского интерфейса. В этом примере при нажатии кнопки функция печатает «Hello, world!». на консоль.
Мутабельность
Обратите внимание, что в отличие от объектов в пространстве ee.*
, объекты в пространстве имен ui.*
являются изменяемыми. Таким образом, вам не нужно переназначать объект переменной каждый раз, когда вы вызываете функцию экземпляра объекта. Простой вызов функции приведет к мутации (изменению) виджета. Добавление следующего кода к предыдущему примеру приводит к регистрации другого обратного вызова для события нажатия кнопки:
// Set another callback function on the button. button.onClick(function() { print('Oh, yeah!'); });
Скопируйте этот код в конец предыдущего примера и нажмите «Выполнить» . Теперь, когда вы нажимаете кнопку, оба сообщения выводятся на консоль.
Используйте страницы пользовательского интерфейса, чтобы узнать больше о создании пользовательских интерфейсов для сценариев Earth Engine. Страница «Виджеты» представляет собой визуальный тур и описывает основные функции виджетов в пакете ui
. На странице «Панели и макеты» описаны контейнеры и макеты верхнего уровня, которые можно использовать для организации и расположения виджетов. На странице «События» содержится подробная информация о настройке поведения и взаимодействия виджетов в вашем пользовательском интерфейсе.