GeoScene 组织门户

GeoScene Online 是一个基于云的协作式内容管理系统,用于地图、应用程序、数据和其他地理内容。GeoScene Online 提供了各种工具,您可以使用它们来存储和管理应用程序的数据。您可以导入现有数据、创建新数据集或将数据转换为新类型的数据。所有数据都作为托管图层进行管理和访问,每一图层都由数据服务提供支持。

GeoScene Online

使用 GeoScene Online,您可以执行以下操作:

  • 创建 web 地图
  • Web 启用您的数据
  • 控制如何共享您的地图、数据和应用程序
  • 查找相关且有用的底图、数据和可配置的 GIS 资源
  • 管理组织中的内容和用户

托管后,您可以通过 GeoScene API for JavaScript 应用程序将数据作为服务访问。您还可以使用 GeoScene API for JavaScript 创建新内容(项目)、搜索用户和群组以及管理共享。

要访问 GeoScene Online 中的所有功能,需要订阅高级别的账号。通过GeoScene Online,您可以在基于云的安全环境中管理自己所有地理内容,可以使用地图来探索数据、创建和共享地图和应用程序,并将其数据发布为托管 Web 图层。

可在 GeoScene Online 中了解有关适用于组织的 GeoScene 的详细信息。

门户项目、用户和群组

GeoScene Online 是一个信息门户,在 API 中由 Portal 类表示。当您使用自己Online帐户登录 GeoScene Online 时,您会看到组织管理员为您配置的专用视图,您可以访问特定于组织的地图、内容和其他服务。还可以访问您自己的所有内容和服务。

门户项目

GeoScene Online 和 GeoScene Enterprise 可以存储多种类型的内容。有关详尽列表,请参阅 GeoScene 文档中的支持项目。应用程序最常用的类型可能是 web 地图 - 地图中数据的 JSON 描述,以及其他显示和行为属性。其他类型包括切片包、要素集合和服务。某些类型(例如 globe 文档和地图模板)可能仅与桌面系统相关。尽管您可以使用 GeoScene Runtime API 访问这些类型的数据,但您可能无法在移动设备上使用它们。

门户用户

门户的注册用户在 API 中由 PortalUser 类表示。当您登录到门户时,您会从门户类中获得与经身份验证的用户相关的信息。有几个选项可用于登录门户,例如 OAuth 2.0、网络凭据和令牌。有两种身份验证模式可用,它们是:

门户群组

群组是一种与具有共同兴趣的其他用户进行协作的方式。用户可以创建群组、加入群组并与这些群组共享项目。群组具有标题、描述、缩略图和唯一 ID,以帮助用户识别它们。GeoScene Online 中的共享模型基于群组。群组在 API 中由 PortalGroup 类表示。

连接到公共内容和服务

要连接到 GeoScene Online 并匿名访问公共内容,您可以从创建门户开始,无需通过门户进行身份验证。

     
1
2
3
4
5
var portal = new Portal(); // 默认为 www.geosceneonline.cn
portal.authMode = "anonymous"; // 将此设置为匿名访问(不需要登录)
portal.load().then(function() {
  // Do something here
});

从这里开始,您可以访问公共内容。例如,您可以显示 web 地图、或将托管图层从 PortalItem 添加至您的地图。您还可以搜索内容,例如 web 地图、地图服务、群组和用户等。

有些用户会公开共享内容并允许匿名用户访问该内容;在online中可以看到公开访问的内容。

连接到安全内容和服务

如果 Web 应用程序的受众是授权用户,则应结合使用 IdentityManager 类和 OAuth 类。这是处理 GeoScene 支持的所有身份验证挑战的最简单方法。要使用此方法对门户的用户进行身份验证,必须设置 IdentityManager 的实例并使用它注册 OAuth 类的实例。然后,创建一个门户对象,指示需要进行身份验证。接下来,加载门户。

                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 注册应用程序
var info = new OAuthInfo({
  appId: "<insert appID here>",
  popup: false // 可选项,设置是否显示登录弹出窗口
});

geosceneId.registerOAuthInfos([info]);

var portal = new Portal(); // 地址是可选项,portal地址默认为 www.geosceneonline.cn
portal.authMode = "immediate"; // 授权模式设置,一旦加载就需要登录

// 加载portal
portal.load().then(function(){
  // Do something once loaded
});

门户对象现在可以访问用户有权访问的所有安全内容,并可用于查找有关用户的更多信息,例如用户名。此外,可以在 OAuth 登录窗口中显示有关组织的信息,例如名称、logo、描述等。当用户连接到特定门户时,Web 应用程序通常会使用此信息来显示用户或组织的logo。

要访问安全内容,Web 应用程序需要提供一种登录平台的方式,这一过程通常称为身份验证。推荐采用用户登录和 OAuth 2.0。如果 Web 应用程序的受众是对 GeoScene 平台不熟悉的用户,则可以使用应用程序登录来代表用户对平台进行身份验证。OAuth 2.0 身份验证由 IdentityManager 类自动处理。如果 IdentityManager 已注册 OAuthInfo 并检测到安全资源,则会发出身份验证询问。用户会看到一个 Web 表单,允许他们使用其平台凭据登录。

通常,在整个会话中都会使用经过身份验证的用户的门户对象,以向 Web 应用程序提供以单个用户为中心的门户视图。一旦用户登录,即会生成一个凭据,并在他们的会话中默认缓存两周。这可通过设置 OAuthInfo.expiration 属性来更新。此外,最好在完成后调用 IdentityManager.destroyCredentials()

如果您不想在应用程序每次启动时都登录,OAuth 登录页面提供了一个让用户保持登录的选项。这样做会将令牌信息存储在浏览器的本地存储中。

GeoScene Enterprise

GeoScene Enterprise 可为您提供与 GeoScene Online 相同的核心功能,尽管它可以安装并托管在您自己的场所并位于防火墙后面以实现内容的受控分发。

连接到 GeoScene Enterprise 门户

连接到 GeoScene Enterprise 门户实例的方式与连接到 GeoScene Online 的方式非常相似,并在 API 中由同一 Portal 类表示。将 portalUrl 设置为 Enterprise 门户网站,以及在该门户上有效的适当凭据或身份验证,如果匿名访问公共内容,则无需凭据或身份验证。

    
1
2
3
4
// 设置portalUrl
geosceneConfig.portalUrl = "https://myHostName.geoscene.cn/geoscene";
// 创建一个portal对象
var portal = new Portal(); // 后面的程序默认使用该配置

GeoScene Server

GeoScene Server 是 GeoScene Enterprise 的一个组件。它是一个完整的、基于服务器的集成 GIS,允许您发布各种类型的 GIS 服务。这些服务可供各种客户端使用,包括使用 GeoScene API for JavaScript 编写的 Web 应用程序。某些服务提供与 GeoScene Online 类似的功能。例如,您可以基于地图、要素或 WMS 服务创建地图图层,并使用 GeoScene Server 托管的服务执行地理编码、路径分析或地理处理功能。

发现 GeoScene Server 上的内容和服务

可使用 GeoScene 服务目录浏览 GeoScene Server 站点上的可用服务。

如果您不确定服务器 URL 或 GeoScene 实例,请联系您的 GeoScene Server 系统管理员。

连接到 GeoScene Server

连接到 GeoScene Server 与连接到门户略有不同。您无需连接到门户本身,而是将要使用的服务的 URL 传递给类 (该类旨在用于使用该服务类型)。

例如,您可以通过将 URL 传递给动态地图服务来创建地图图层

  
1
2
var maplayer = new MapImageLayer();
maplayer.url = "https://www.geosceneonline.cn/server/rest/services/SampleWorldCities/MapServer";

如果您需要访问此地图服务中的各个图层,则可以通过 MapImageLayer.sublayers 属性访问它们。

       
1
2
3
4
5
6
7
// Only includes the first sublayer from the map service
var maplayer = new MapImageLayer({
  url: "https://www.geosceneonline.cn/server/rest/services/SampleWorldCities/MapServer",
  sublayers: [{
    id: 0 // This accesses the first layer in the service
  }]
});

您还可以使用服务的单个 FeatureLayer

以上只是在 GeoScene API for JavaScript 中直接访问 GeoScene Server 服务的几种方法。可以在 参考手册中访问各种图层类型以及如何使用它们。

与使用 GeoScene Online 或 GeoScene Enterprise 托管服务类似,如果服务受到保护,则需要有效的凭据或身份验证才能访问它。

身份验证

您的 Web 应用程序可能需要访问仅限授权用户使用的安全资源。例如,您的组织可能托管了只有经过验证的用户才能访问的私有数据图层或要素服务。GeoScene 平台提供了多种方法来保护对您组织的内容和服务的访问。GeoScene API for JavaScript 完全支持访问受保护的 GeoScene Server、GeoScene Online 或 GeoScene Enterprise 资源。有关如何在这些环境中访问安全资源的更多信息,请参阅访问安全资源

其他资源

以下是提供有关上述各种主题信息的附加资源。

使用上面讨论的一些概念的示例列表。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.

Navigated to GeoScene 组织门户