GEE(google earth engine)get函数读取及set函数设置URL的参数的注意事项

版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/105582323

 

官方文档,带参数的URL如下:

https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=false;
https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=true;

上面的URL带有一个参数debug,第一个是false第二个是true。

//读取URL中debug的值。get的第二个参数是默认值,即如果URL没有debug的参数值则使用此值。
//在下面三个网址中通过get获取值时,前两个是得到的false,第三个是true。
var debug = ui.url.get('debug', false);


//https://code.earthengine.google.com/
//https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=false;
//https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=true;

//设置URL中debug的值。
//在上面三个网址中通过set设置值时,后两个都会变成第三个。
//第一个会变成https://code.earthengine.google.com/#debug=true;
ui.url.set('debug',true);

所以就会有一个比较奇妙的现象:在下图所示的情况下,执行第一次输出为true,执行第二次及更多次则输出为false。 

为什么这样呢?因为script编辑器中的代码,在执行的时候,从URL获取到debug的值是true,所以get的第二个参数false没有用处,第二个参数只在URL没有debug值的时候才有用。第二行代码是设置URL的debug值为false,但script编辑器中的debug变量还是之前读取的true,所以输出为true。而第二次运行后,URL的debug值是false了,后面再执行set操作还是false,所以后面就输出的是false。

如果script编辑器中的第一行和第二行交换,则不论怎么执行,都会是同样的输出结果。

附注:其实这个也好理解,附上JavaScript代码如下,上面的123行分别对应下面的234行:

var a=1;
var b=a;
a=2;
alert(b+' '+a)
//提示结果是:1 2

提醒:千万别直接修改URL的值,因为你修改了浏览器地址栏的URL但没有跳转到修改后的URL,这个URL是没用的。

 

独孤尚良dugushangliang——著

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值