Geospatial 如何在我的站点上部署TerriaJS

Geospatial 如何在我的站点上部署TerriaJS,geospatial,cesium,terriajs,Geospatial,Cesium,Terriajs,我想在我的站点上部署一个TerriaJS实例,用于3D(带有2D后备)地理空间映射。我对如何在我的站点上实际“部署”TerriaJ有点困惑。我对传单很熟悉。。。基本上只需包含sloop.js文件,创建一个div,然后就可以了。然而,我在TerriaJS的github页面上浏览wiki,看到的只是一堆nodej 我错过了什么?我能够使用NPM运行地图,并且我看到一个漂亮的3D地图(运行在节点web服务器实例中),但这对我没有任何好处,因为我希望能够将地图嵌入到我的网站上 如果有人有一个很好的(简单

我想在我的站点上部署一个TerriaJS实例,用于3D(带有2D后备)地理空间映射。我对如何在我的站点上实际“部署”TerriaJ有点困惑。我对传单很熟悉。。。基本上只需包含sloop.js文件,创建一个div,然后就可以了。然而,我在TerriaJS的github页面上浏览wiki,看到的只是一堆nodej

我错过了什么?我能够使用NPM运行地图,并且我看到一个漂亮的3D地图(运行在节点web服务器实例中),但这对我没有任何好处,因为我希望能够将地图嵌入到我的网站上

如果有人有一个很好的(简单的英语)教程或起点,那就太棒了


谢谢。

我们通常与TerriaJS一起使用的基于节点的web服务器只做几件事:

  • 它提供组成应用程序的静态HTML、JavaScript和CSS
  • 它包括一个简单的at/proxy服务,允许TerriaJ访问不支持CORS的地理空间数据服务器
  • 它包括另一项at/convert服务,该服务使用OGR将地理空间矢量数据(如ShapeFile)转换为GeoJSON,以供TerriaJS客户端显示
其中,只有第一个是必需的。因此,您可以将正在工作的TerriaJS应用程序的wwwroot目录复制到运行您的站点的任何web服务器上,它将在那里运行,就像在基于节点的服务器上运行一样。您必须确保所有地理空间数据位于同一台服务器上,或者托管在支持CORS的服务器上,并且不支持shapefile转换,但除此之外,您应该可以继续

在现有网页中嵌入TerriaJ有点棘手。您需要从您开始使用的TerriaJS应用程序(可能是NationalMap?)中的index.js、index.html和index.less文件开始,并对它们进行修改以满足您的需要。您需要使用基于gulp的构建过程。但一旦这些都完成了,您就可以像以前一样将文件复制到web服务器上

根据您的需要,您也可以考虑将TerriaJS嵌入到iFrAME中,而不是直接将其嵌入页面中。通过为URL指定参数,可以控制目录的内容并自定义UI的一些基本方面。您还可以通过如下所述发布跨窗口消息来控制它


最后,可以在没有提供用户界面的情况下使用TerriaJS,例如通过提供您自己的用户界面。不过,这是一个非常高级的场景,所以如果你想继续这样做,最好单独发布一个问题。

谢谢你的评论!这确实有助于揭示一些真相。