作者:CSDN @ _养乐多_
本文记录了在 Google Earth Engine(GEE)上实现简单计算器的代码。
APP链接:https://949384116.users.earthengine.app/view/simplecalculator
文章目录
- 一、完整代码
- 二、代码链接
一、完整代码
// 定义初始变量
var inputText = ui.Textbox('0', ''); // 文本框用于显示输入和结果
inputText.style().set({width: '194px', textAlign: 'center'}); // 设置文本框宽度和文本居中
var buttons = []; // 数字和运算符按钮
var result = 0; // 保存计算结果
// 创建数字按钮(0-9)
for (var i = 0; i <= 9; i++) {
buttons.push(ui.Button(i.toString(), function(button) {
return function() {
var currentInput = inputText.getValue();
if (currentInput === '0') {
inputText.setValue(button);
} else {
inputText.setValue(currentInput + button);
}
};
}(i.toString())));
}
// 创建运算符按钮(+、-、*、/)
var operators = ['+', '-', '*', '/'];
for (var j = 0; j < operators.length; j++) {
buttons.push(ui.Button(operators[j], function(operator) {
return function() {
var currentInput = inputText.getValue();
if (!isNaN(parseFloat(currentInput))) {
result = eval(currentInput); // 使用eval计算结果
inputText.setValue(result + operator);
}
};
}(operators[j])));
}
// 创建等号按钮
buttons.push(ui.Button('=', function() {
var currentInput = inputText.getValue();
if (!isNaN(parseFloat(currentInput))) {
result = eval(currentInput);
inputText.setValue(result.toString());
}
}));
// 创建小数点按钮
buttons.push(ui.Button('.', function() {
var currentInput = inputText.getValue();
if (currentInput.indexOf('.') === -1) {
inputText.setValue(currentInput + '.');
}
}));
// 创建清空按钮
buttons.push(ui.Button('清空', function() {
inputText.setValue('0');
result = 0;
}));
// 创建一个面板来容纳按钮
// var buttonPanel = ui.Panel(buttons, ui.Panel.Layout.flow('horizontal'));
var row1Panel = ui.Panel([inputText, buttons[16]], ui.Panel.Layout.flow('horizontal'));
var row2Panel = ui.Panel([buttons[1], buttons[2], buttons[3], buttons[10]], ui.Panel.Layout.flow('horizontal'), { color : '#8E8E8E',border: ''});
var row3Panel = ui.Panel([buttons[4], buttons[5], buttons[6], buttons[11]], ui.Panel.Layout.flow('horizontal'), { color : '#8E8E8E',border: ''});
var row4Panel = ui.Panel([buttons[7], buttons[8], buttons[9], buttons[12]], ui.Panel.Layout.flow('horizontal'), { color : '#8E8E8E',border: ''});
var row5Panel = ui.Panel([buttons[13], buttons[0], buttons[15], buttons[14]], ui.Panel.Layout.flow('horizontal'), { color : '#8E8E8E',border: ''});
// 创建一个面板来容纳界面元素
var panel = ui.Panel([
// buttonPanel,
row1Panel,
row2Panel,
row3Panel,
row4Panel,
row5Panel
]);
// 在地图上显示面板
Map.add(ui.Panel(panel));
二、代码链接
https://code.earthengine.google.com/4607cd48d41ced0af8d7fcaccd3e94e0?noload=true
声明:
本人作为一名作者,非常重视自己的作品和知识产权。在此声明,本人的所有原创文章均受版权法保护,未经本人授权,任何人不得擅自公开发布。
本人的文章已经在一些知名平台进行了付费发布,希望各位读者能够尊重知识产权,不要进行侵权行为。任何未经本人授权而将付费文章免费或者付费(包含商用)发布在互联网上的行为,都将视为侵犯本人的版权,本人保留追究法律责任的权利。
谢谢各位读者对本人文章的关注和支持!