是否有更简单的方法将Google地球引擎(javascript)应用程序嵌入到网页中,而不遵循Google EE demo apps提供的折磨路线?
Earth Engine Code环境使得开发核心GEE应用程序变得快速而快速。但是,将GEE应用程序嵌入到网页中的时间比使用GEE应用程序要多10倍。
所有演示应用程序似乎都需要(a)使用Google App Engine,(b)使用Python重新编码GEE应用程序,(c)使用jinja2模板引擎将python代码链接到网页,以及(d) )仍然有一些挥之不去的JavaScript。
例如,在Trendy Lights demo中,服务器端脚本编写器server.py App Engine会启动并快速复杂化。 (即使是更简单的演示也会走这条路。)
当用户首次在浏览器中加载应用程序时,他们的 请求被路由到MainHandler类中的get()函数 我们正在使用的框架,webapp2。
get()函数发回主网页(来自index.html) 以及浏览器渲染地球引擎地图所需的信息 以及要在地图上显示的多边形的ID。这个信息是 通过模板引擎注入index.html模板 名为Jinja2,它将来自Python上下文的信息放入 用户浏览器要接收的HTML。
答案 0 :(得分:3)
它复杂的原因是由于授权。必须根据某人的地球引擎帐户授权地球引擎呼叫。这必须是最终用户(请参阅:https://github.com/google/earthengine-api/tree/master/demos/client-auth,但仅在最终用户拥有Earth Engine帐户时才有效)或应用程序的凭据。如果应用程序的凭据只是卡在javascript中,那么任何人都可以窃取这些凭据并使用它们来执行他们想要的任何操作。因此,我们建议使用appengine server-auth route(https://github.com/google/earthengine-api/tree/master/demos/server-auth)来保证您的凭据安全。