Portal

AMD: require(["geoscene/portal/Portal"], (Portal) => { /* code goes here */ });
ESM: import Portal from "@geoscene/core/portal/Portal";
类: geoscene/portal/Portal
继承于:Portal Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.0

Portal 类是 GeoScene Enterprise 门户的一部分,它提供了一种方法来构建使用 GeoScene OnlineGeoScene Enterprise 门户中内容的应用程序。GeoScene Enterprise 是 GeoScene 软件,客户可以在本地或云中进行部署。GeoScene Online 是 GeoScene 的软件即服务产品,其将 GIS 表示为服务,并使用与 GeoScene Enterprise 相同的技术实现。

Portal API 允许应用程序开发人员使用 GeoScene Online 或 GeoScene Enterprise 门户中托管的用户、群组和内容。该 API 允许开发人员构建支持使用 Web 地图进行共享和协作的 Web、移动和桌面应用程序。组织开发人员还可使用 API 为其用户构建自定义应用程序。

Portal 类提供了当前用户 (匿名或登录) 看到的门户视图。它包括此门户的名称、徽标、专题项目和支持协议 (http 与 https) 之类的信息。如果用户未登录,则此调用将返回门户的默认视图。如果用户已登录,则返回的门户视图将特定于用户所属的组织。门户的默认视图取决于用户的区域性,该区域性是从用户的个人资料中获取的。

如果在加载门户之前未设置 url,则 API 默认为 geosceneConfig.portalUrl。在某些情况下,可能需要多个门户实例。在这些情况下,有几个不同的选项需要考虑。

  1. PortalItem 中设置新的门户实例,并设置门户的 url
    Layer.fromPortalItem({
      portalItem: {
        id: "e691172598f04ea8881cd2a4adaa45ba",
        // autocastable to Portal
        portal: {
          url: "https://thePortalUrl"
        }
      }
    });
    
  2. 在将单独的门户实例传递到 PortalItem 的 portal 属性之前,请先创建这些实例。
    let portalA = new Portal({
      url: "https://www.exampleA.com/geoscene" // First instance
    });
    
    let portalB = new Portal({
      url: "https://www.exampleB.com/geoscene" // Second instance
    });
    
    let item = new PortalItem({
      id: "e691172598f04ea8881cd2a4adaa45ba",
      portal: portalA // This loads the first portal instance set above
    });
    
    item.load();
    

可以调用 Portal 实例上的 when() 方法来执行只能在已加载 Portal 后运行的进程。

// load the Portal and PortalQueryParams modules
require(["geoscene/portal/Portal",
 "geoscene/portal/PortalQueryParams"
], function(Portal, PortalQueryParams) {
  portal = new Portal();
  // Setting authMode to immediate signs the user in once loaded
  portal.authMode = "immediate";

  // Once portal is loaded, user signed in
  portal.load().then(function() {
    console.log(portal);

    // Create query parameters for the portal search
    // This object autocasts as new PortalQueryParams()
    let queryParams = {
      query: "owner:" + portal.user.username,
      sortField: "numViews",
      sortOrder: "desc",
      num: 20
    };
    // Query the items based on the queryParams created from portal above
    portal.queryItems(queryParams).then(createGallery);
  });
});
另请参阅

构造函数

new Portal(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
String

组织的访问级别。

更多详情
Portal
Boolean

如果为 true,则必须通过 SSL 访问组织的门户资源。

更多详情
Portal
String

用于在用户尝试访问安全资源时处理身份验证的身份验证模式。

更多详情
Portal
String[]

在发出跨域资源共享 (CORS) 请求以访问受 web 层身份验证保护的服务时,可以将凭据发送到的可信服务器数组。

更多详情
Portal
String

useVectorBasemaps 不为 true 时,定义应在 BasemapGallery 中显示的底图的查询。

更多详情
Portal
String

Bing 密钥,用于使用 Bing 地图的 web 地图。

更多详情
Portal
Boolean

指示组织是否可以在市场中列出应用程序。

更多详情
Portal
Boolean

指示组织是否可以在市场中列出数据服务。

更多详情
Portal
Boolean

指示组织是否可以在市场中列出预先配置的项目。

更多详情
Portal
Boolean

指示组织是否可以在没有客户请求的情况下在市场中提供直接购买。

更多详情
Portal
Boolean

如果为 true,则组织的公共项目、群组和用户将包含在搜索查询中。

更多详情
Portal
Boolean

Bing 密钥可以与公共共享,并作为门户描述调用(/sharing/rest/portals/<orgid>)的一部分返回。

更多详情
Portal
Boolean

若为 true,则组织成员可共享组织外部的资源。

更多详情
Portal
Boolean

指示是否允许配置了企业 IDP 的组织能够打开或关闭 GeoScene 登录。

更多详情
Portal
Boolean

指示是否允许配置了企业 IDP 的组织能够打开或关闭企业登录。

更多详情
Portal
String

此查询可标识包含用于在地图查看器中呈现的颜色集的组。

更多详情
Portal
Boolean

指示是否允许组织禁用评论。

更多详情
Portal
Date

组织的创建日期。

更多详情
Portal
String

默认区域性(语言和国家/地区)信息。

更多详情
Portal
String

门户的自定义基准 URL。

更多详情
Portal
String

类的名称。

更多详情
Accessor
Basemap

用于门户的默认底图。

更多详情
Portal
Basemap

定义 apiKey 时,用于门户的默认开发人员底图。

更多详情
Portal
Extent

用于门户的默认范围。

更多详情
Portal
Basemap

用于门户的默认矢量底图。

更多详情
Portal
String

组织/门户的描述。

更多详情
Portal
String

定义 apiKey 时,定义应在 BasemapGallery 中显示的底图的查询。

更多详情
Portal
Boolean

布尔值,用于指示是否选择加入 GeoScene 用户体验改进 (EUEI) 计划

更多详情
Portal
Object[]

门户的精选群组。

更多详情
Portal
String

定义精选群组的查询。

更多详情
Portal
String

该查询可标识包含图库精选项目的群组。

更多详情
Portal
Boolean

指示组织是否具有内容类别。

更多详情
Portal
Object

门户提供的帮助服务。

更多详情
Portal
String

包含要显示在主页特色内容中的群组。

更多详情
Portal
Number

可在主页上显示的特色项目的数量。

更多详情
Portal
Number

门户用于 HTTP 通信的端口。

更多详情
Portal
Number

门户用于 HTTPS 通信的端口。

更多详情
Portal
String

拥有此门户的组织的 ID。

更多详情
Portal
String

调用 IP 的国家/地区代码 (仅适用于 GeoScene Online)。

更多详情
Portal
Boolean

指示门户是否为组织。

更多详情
Portal
Boolean

指示门户是否为本地。

更多详情
Portal
Boolean

指示门户是否为只读模式。

更多详情
Portal
String

此查询可标识包含编辑模板的组。

更多详情
Portal
Boolean

指示门户的资源是否已加载。

更多详情
Portal
Error

如果加载时发生错误,则返回 Error 对象。

更多详情
Portal
String

表示 load 操作的状态。

更多详情
Portal
Object[]

加载时发生的警告列表。

更多详情
Portal
Number

为组织用户颁发的令牌的最大有效性 (以分钟为单位)。

更多详情
Portal
Date

上次修改组织的日期。

更多详情
Portal
String

组织的名称。

更多详情
Portal
String

门户主机的 URL。

更多详情
Portal
String

门户模式。

更多详情
Portal
Object

特定于组织的属性,例如,“联系我们”链接。

更多详情
Portal
String

组织的区域。

更多详情
Portal
String

门户的 REST URL,例如,用于 GeoScene Online 的 "https://www.geosceneonline.cn/sharing/rest" 以及用于内置门户的 "https://www.geosceneonline.cn/geoscene/sharing/rest"。

更多详情
Portal
Object[]

主页的自定义 HTML。

更多详情
Portal
Boolean

指示组织的描述是否显示在主页上。

更多详情
Portal
Object

加载 Portal 时,用于创建属性值的 JSON。

更多详情
Portal
Boolean

指示是否支持托管服务。

更多详情
Portal
String

定义符号集的查询。

更多详情
Portal
String

定义将出现在模板库中的模板集合的查询。

更多详情
Portal
String

组织缩略图的 URL。

更多详情
Portal
String

设置组织用户的度量单位。

更多详情
Portal
String

门户实例的 URL。

更多详情
Portal
String

组织管理员选择的与 customBaseURL 一起使用的前缀。

更多详情
Portal
PortalUser

代表门户注册用户的信息。

更多详情
Portal
Boolean

如果为 true,则在查询图层和表时,只能使用符合 SQL92 的简单 where 子句。

更多详情
Portal
Boolean

如果为 true,则组织已选择使用矢量切片底图,并且应使用 vectorBasemapGalleryGroupQuery 代替 basemapGalleryGroupQuery,使用 defaultVectorBasemap 代替 defaultBasemap

更多详情
Portal
String

useVectorBasemaps 为 true 时,定义应在 BasemapGallery 中显示的矢量切片底图的查询。

更多详情
Portal

属性详细信息

access String

组织的访问级别。为 public 时,匿名用户可以访问组织。为 private 时,访问权限仅限于组织成员。

可能值"public"|"private"

allSSL Boolean

如果为 true,则必须通过 SSL 访问组织的门户资源。

authMode String

用于在用户尝试访问安全资源时处理身份验证的身份验证模式。

可能值 描述
anonymous 当请求安全资源时,将返回错误。
auto 当请求安全资源时,用户将登录。
immediate 用户将在加载门户时登录。

可能值"anonymous"|"auto"|"immediate"

默认值:auto
authorizedCrossOriginDomains String[]

在发出跨域资源共享 (CORS) 请求以访问受 web 层身份验证保护的服务时,可以将凭据发送到的可信服务器数组。

basemapGalleryGroupQuery String
起始版本:GeoScene Maps SDK for JavaScript 4.4

useVectorBasemaps 不为 true 时,定义应在 BasemapGallery 中显示的底图的查询。fetchBasemaps() 方法会自动执行此操作。

bingKey String

Bing 密钥,用于使用 Bing 地图的 web 地图。

canListApps Boolean

指示组织是否可以在市场中列出应用程序。

canListData Boolean

指示组织是否可以在市场中列出数据服务。

canListPreProvisionedItems Boolean

指示组织是否可以在市场中列出预先配置的项目。

canProvisionDirectPurchase Boolean

指示组织是否可以在没有客户请求的情况下在市场中提供直接购买。

canSearchPublic Boolean

如果为 true,则组织的公共项目、群组和用户将包含在搜索查询中。当为 false 时,则不包含组织外部的公共项目。然而,属于组织的公共项目会包括在内。

默认值:true
canShareBingPublic Boolean

Bing 密钥可以与公共共享,并作为门户描述调用(/sharing/rest/portals/<orgid>)的一部分返回。这要求将门户的 access 设置为 public。canShareBingPublic 属性不会公开返回,而只会显示给组织内的用户。

默认值:false
canSharePublic Boolean

若为 true,则组织成员可共享组织外部的资源。

默认值:false
canSignInGeoScene Boolean

指示是否允许配置了企业 IDP 的组织能够打开或关闭 GeoScene 登录。

默认值:false
canSignInIDP Boolean

指示是否允许配置了企业 IDP 的组织能够打开或关闭企业登录。

默认值:false
colorSetsGroupQuery String

此查询可标识包含用于在地图查看器中呈现的颜色集的组。

commentsEnabled Boolean

指示是否允许组织禁用评论。当 commentsEnabled 为 false 时,将隐藏评论但不移除。对于组织中的所有项目,numComments 设置为 0。调用添加评论和查看评论将失败。如果组织重新启用评论,则显示评论并恢复 numComments。

默认值:false
created Date

组织的创建日期。

culture String

默认区域性(语言和国家/地区)信息。

customBaseUrl String

门户的自定义基准 URL。

declaredClass Stringreadonly inherited
起始版本:GeoScene Maps SDK for JavaScript 4.7

类的名称。声明的类名称格式化为 geoscene.folder.className

defaultBasemap Basemap

用于门户的默认底图。在地图查看器中使用。

defaultDevBasemap Basemap
起始版本:GeoScene Maps SDK for JavaScript 4.22

定义 apiKey 时,用于门户的默认开发人员底图。

defaultExtent Extent

用于门户的默认范围。在地图查看器中使用。范围将位于默认底图的空间参考中。

defaultVectorBasemap Basemap
起始版本:GeoScene Maps SDK for JavaScript 4.4

用于门户的默认矢量底图。在地图查看器中使用。

description String

组织/门户的描述。

devBasemapGalleryGroupQuery String
起始版本:GeoScene Maps SDK for JavaScript 4.22

定义 apiKey 时,定义应在 BasemapGallery 中显示的底图的查询。fetchBasemaps() 方法会自动执行此操作。

eueiEnabled Boolean
起始版本:GeoScene Maps SDK for JavaScript 4.7

布尔值,用于指示是否选择加入 GeoScene 用户体验改进 (EUEI) 计划

默认值:null
featuredGroups Object[]

门户的精选群组。返回一个对象数组,用于提供对每个专题组的所有者和标题的访问权限。此数组中的每个项目都具有以下规范:

属性
owner String

群组所有者的名称。

title String

群组标题。

featuredItemsGroupQuery String

定义精选群组的查询。如果为 null,则组织中查看次数最多的项目将是专题项目。

galleryTemplatesGroupQuery String

该查询可标识包含图库精选项目的群组。设置一个群组 ID,如果为 null,则在库中显示组织中查看次数最多的项目。

hasCategorySchema Boolean
起始版本:GeoScene Maps SDK for JavaScript 4.8

指示组织是否具有内容类别。

默认值:false
helperServices Object
起始版本:GeoScene Maps SDK for JavaScript 4.4

门户提供的帮助服务。这对于确定相关方法的 URL 很有用。建议将这些 URL 与其各自的 rest 模块一起使用,而不是使用已弃用的帮助方法。

有关帮助服务的更多信息,请参阅 GeoScene Server 文档中的关于实用程序服务主题。

示例
require([
  "geoscene/Map",
  "geoscene/views/MapView",
  "geoscene/portal/Portal",
  "geoscene/core/Collection",
  "geoscene/layers/GraphicsLayer",
  "geoscene/rest/route",
  "geoscene/rest/support/RouteParameters",
  "geoscene/rest/support/Stop",
  ...
], function(Map, MapView, Portal, Collection, GraphicsLayer, route, RouteParameters, Stop, ... ) {

  // create new Portal object with relevant URL
  const portal = new Portal({
     url: "YOUR_PORTAL_URL"
  });

  // the stops and route result will be stored in this layer
  const routingLayer = new GraphicsLayer();

  const map = new Map({
    basemap: "streets-navigation-vector",
    layers: [routingLayer]
  });

  const view = new MapView({
    container: "viewDiv",
    map: map,
    center: [-117.39966, 34.06873],
    zoom: 10
  });

  // create a Collection of new Stops
  const stops = new Collection([
    new Stop({
      geometry: { x: -117.59275, y: 34.06200 },
      name: "Ontario Airport"
    }),
    new Stop({
      geometry: { x: -117.19570, y: 34.05609 },
      name: "Esri Campus"
    })
  ]);

  // setup the RouteParameters with API key and Stops
  const routeParams = new RouteParameters({
    // An authorization string used to access the routing service
    apiKey: "YOUR_API_KEY",
    stops
  });

  // define the symbology used to display the route
  const routeSymbol = {
    type: "simple-line", // autocasts as SimpleLineSymbol()
    color: [175, 155, 215, 0.5],
    width: 5
  };

  // load Portal instance
  portal.load().then(function() {
    // display URLs to all helper services
    console.log("Show helperServices URLs: ", portal.helperServices);
    // access helperServices from the Portal instance
    // to get the routing URL of interest
    const routeURL = portal.helperServices.route.url;
    // use helperServices to perform routing
    route.solve(routeURL, routeParams).then(showRouteInfo);
  }

  // do something useful with the results
  // like display them to the console
  // or display them on the map
  function showRouteInfo(routeSolveResult) {
    console.log("Show all results: ", routeSolveResult);
    const routeResult = routeSolveResult.routeResults[0].route;
    routeResult.symbol = routeSymbol;
    routingLayer.add(routeResult);
  }
});
homePageFeaturedContent String

包含要显示在主页特色内容中的群组。

homePageFeaturedContentCount Number

可在主页上显示的特色项目的数量。最大值为 100。仅接受整数。

httpPort Number

门户用于 HTTP 通信的端口。

httpsPort Number

门户用于 HTTPS 通信的端口。

拥有此门户的组织的 ID。如果为 null,则这是匿名和非组织用户的默认门户。

ipCntryCode String

调用 IP 的国家/地区代码 (仅适用于 GeoScene Online)。

isOrganization Booleanreadonly

指示门户是否为组织。

isPortal Boolean

指示门户是否为本地。

isReadOnly Boolean
起始版本:GeoScene Maps SDK for JavaScript 4.14

指示门户是否为只读模式。如果为 true,则无法在门户上创建、修改或删除内容。

layerTemplatesGroupQuery String

此查询可标识包含编辑模板的组。

loaded Booleanreadonly

指示门户的资源是否已加载。如果为 true,则可访问对象的所有属性。

默认值:false
loadError Errorreadonly

如果加载时发生错误,则返回 Error 对象。

默认值:null
loadStatus Stringreadonly

表示 load 操作的状态。

描述
not-loaded 对象的资源尚未加载。
loading 对象的资源当前正在加载。
loaded 对象的资源已加载且未出现错误。
failed 无法加载对象的资源。有关更多详情,请参阅 loadError

可能值"not-loaded"|"loading"|"failed"|"loaded"

默认值:not-loaded
loadWarnings Object[]readonly

加载时发生的警告列表。

maxTokenExpirationMinutes Number

为组织用户颁发的令牌的最大有效性 (以分钟为单位)。-1 为默认值,是一个特殊值,表示无限超时或永久令牌。对于使用 OAuth 2.0 授权批准进行授予的令牌,它表示刷新令牌的最大有效性。对于访问令牌,最大有效期为两周或此值中的较低值。

modified Date

上次修改组织的日期。

name String

组织的名称。

portalHostname String

门户主机的 URL。

portalMode String

门户模式。

可能值"multitenant"|"singletenant"

portalProperties Object

特定于组织的属性,例如,“联系我们”链接。如果组织是公开的,则属性对匿名用户可见。

region String

组织的区域。

restUrl Stringreadonly

门户的 REST URL,例如,用于 GeoScene Online 的 "https://www.geosceneonline.cn/sharing/rest" 以及用于内置门户的 "https://www.geosceneonline.cn/geoscene/sharing/rest"。

rotatorPanels Object[]

主页的自定义 HTML。

showHomePageDescription Boolean

指示组织的描述是否显示在主页上。

sourceJSON Object
起始版本:GeoScene Maps SDK for JavaScript 4.13

加载 Portal 时,用于创建属性值的 JSON。虽然最常用的属性直接在 Portal 类上公开,但这提供了对门户返回的所有信息的访问。如果在使用较旧版本的 API 构建的应用程序中工作,该应用程序需要访问较新版本的 portal 属性,则此属性非常有用。

supportsHostedServices Boolean

指示是否支持托管服务。

默认值:false
symbolSetsGroupQuery String

定义符号集的查询。

templatesGroupQuery String

定义将出现在模板库中的模板集合的查询。

thumbnailUrl Stringreadonly

组织缩略图的 URL。

units String

设置组织用户的度量单位。用户默认值派生自组织的 region

可能值"english"|"metric"

url String

门户实例的 URL。应使用通过 geosceneConfig.portalUrl 设置门户实例的位置,而不是直接在此属性上设置它。

如果使用本地门户,则语法应类似于: https://www.example.com/geoscene

默认值:此属性的默认值与 geosceneConfig.portalUrl 属性值相同。

urlKey String

组织管理员选择的与 customBaseURL 一起使用的前缀。

代表门户注册用户的信息。

useStandardizedQuery Boolean

如果为 true,则在查询图层和表时,只能使用符合 SQL92 的简单 where 子句。建议的安全设置为 true。

useVectorBasemaps Boolean
起始版本:GeoScene Maps SDK for JavaScript 4.4

如果为 true,则组织已选择使用矢量切片底图,并且应使用 vectorBasemapGalleryGroupQuery 代替 basemapGalleryGroupQuery,使用 defaultVectorBasemap 代替 defaultBasemapfetchBasemaps() 方法自动使用 vectorBasemapGalleryGroupQuery。

vectorBasemapGalleryGroupQuery String
起始版本:GeoScene Maps SDK for JavaScript 4.4

useVectorBasemaps 为 true 时,定义应在 BasemapGallery 中显示的矢量切片底图的查询。fetchBasemaps() 方法会自动执行此操作。

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor

如果 load() 操作已在进行中,则取消它。

更多详情
Portal
Promise<ElevationLayer[]>

帮助器函数,用于返回从门户的有限错误栅格压缩 (LERC) 高程帮助器服务派生的 ElevationsLayers 数组。

更多详情
Portal
Promise<Basemap[]>

获取显示在 BasemapGallery 中的底图

更多详情
Portal
Promise<object[]>

如果存在,则获取组织的类别模式。

更多详情
Portal
Promise<PortalGroup[]>

获取门户中的特色组。

更多详情
Portal
Promise<object[]>

获取并返回与门户实例相关联的区域。

更多详情
Portal
Promise<Object>

获取并返回当前用户看到的门户设置,无论是匿名用户还是登录用户。

更多详情
Portal
Portal

第一次调用此方法时,会创建一个新的 Portal 实例。

更多详情
Portal
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor
Boolean

isFulfilled() 可用于验证创建类的实例是否已完成 (已解决或已拒绝)。

更多详情
Portal
Boolean

isRejected() 可用于验证创建类的实例是否被拒绝。

更多详情
Portal
Boolean

isResolved() 可用于验证创建类的实例是否已解决。

更多详情
Portal
Promise

加载此类引用的资源。

更多详情
Portal
Promise<PortalQueryResult>

对 Portal 执行查询,以返回与输入查询相匹配的 PortalGroup 对象数组。

更多详情
Portal
Promise<PortalQueryResult>

对 Portal 执行查询,以返回与输入查询相匹配的 PortalItem 对象数组。

更多详情
Portal
Promise<PortalQueryResult>

对 Portal 执行查询,以返回与输入查询相匹配的 PortalUser 对象的数组。

更多详情
Portal

移除对象拥有的句柄组。

更多详情
Accessor
Promise

一旦创建了类的实例,就可以使用when()

更多详情
Portal

方法详细说明

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

cancelLoad()

如果 load() 操作已在进行中,则取消它。

createElevationLayers(){Promise<ElevationLayer[]>}
起始版本:GeoScene Maps SDK for JavaScript 4.12

帮助器函数,用于返回从门户的有限错误栅格压缩 (LERC) 高程帮助器服务派生的 ElevationsLayers 数组。

返回
类型 描述
Promise<ElevationLayer[]> 解析后,返回 ElevationLayers 的数组。
另请参阅
fetchBasemaps(basemapGalleryGroupQuery, options){Promise<Basemap[]>}

获取显示在 BasemapGallery 中的底图。定义 apiKey 后,底图将基于 devBasemapGalleryGroupQuery。当 useVectorBasemapstrue 时,底图将基于 vectorBasemapGalleryGroupQuery。否则,它基于 basemapGalleryGroupQuery

参数
basemapGalleryGroupQuery String
optional

提供时,此参数用于根据输入查询参数获取底图。

options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<Basemap[]> 解析为表示门户底图库中使用的底图的 Basemap 对象数组。
示例
portal.fetchBasemaps("title:\"Cloud Creek Basemaps\" AND owner:jsmith")
 .then(function(basemaps){
   // do something with the basemaps
 });
fetchCategorySchema(options){Promise<object[]>}
起始版本:GeoScene Maps SDK for JavaScript 4.8

如果存在,则获取组织的类别模式。

参数
options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<object[]> 解析为包含以下属性的对象数组:
属性 类型 描述
title string 类别模式的标题。
categories object[] 包含标题和类别数组的对象数组。
示例
// Fetches the category schema
portal.fetchCategorySchema().then(function(schemas){
  schemas.forEach(function(schema){
    console.log("schema: ", schema);
  });
});
fetchFeaturedGroups(options){Promise<PortalGroup[]>}

获取门户中的特色组。

参数
options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<PortalGroup[]> 解析为一组 PortalGroup 对象。
示例
// fetch featured groups
portal.fetchFeaturedGroups().then(function(groups){
   groups.forEach(function(group){
     group.fetchMembers().then(function(members){
       console.log("member", members);
     });
   });
});
fetchRegions(options){Promise<object[]>}
起始版本:GeoScene Maps SDK for JavaScript 4.8

获取并返回与门户实例相关联的区域。

参数
options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<object[]> 解析为包含以下属性的对象数组:
属性 类型 描述
localizedName string 区域的本地化名称。例如,"Australia"。
name string 区域名称。例如,"Australia"。
region string 区域名称。例如,"AU"。
fetchSettings(options){Promise<object>}
起始版本:GeoScene Maps SDK for JavaScript 4.23

获取并返回当前用户看到的门户设置,无论是匿名用户还是登录用户。这将返回诸如任何可访问的帮助器服务、允许的重定向 URI 以及任何访问通知或信息横幅的配置等信息。

参数
options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<Object> 解析为包含信息的对象,例如帮助器服务、重定向 URI 和访问通知或信息横幅的配置。
getDefault(){Portal}static

第一次调用此方法时,会创建一个新的 Portal 实例。来自 config.portalUrl 的 URL 将自动用于此实例。然后缓存此实例并用于对该方法的任何后续调用。

返回
类型 描述
Portal 门户实例。
hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
isFulfilled(){Boolean}

isFulfilled() 可用于验证创建类的实例是否已完成 (已解决或已拒绝)。如果满足,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已完成 (已解决或已拒绝)。
isRejected(){Boolean}

isRejected() 可用于验证创建类的实例是否被拒绝。如果被拒绝,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已被拒绝。
isResolved(){Boolean}

isResolved() 可用于验证创建类的实例是否已解决。如果已解决,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已解决。
load(signal){Promise}

加载此类引用的资源。如果视图是使用地图实例构造的,则此方法会自动为 View 及其在 Map 中引用的所有资源执行。

开发人员在访问不会在 View 中加载的资源时,必须调用此方法。

load() 方法仅在第一次调用时触发资源的加载。随后的调用将返回相同的 promise。

可以提供一个 signal 来停止对 Loadable 实例加载状态感兴趣。当信号中止时,实例不会停止其加载过程,只有 cancelLoad 可以中止它。

参数
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise 资源已加载时解析。
queryGroups(queryParams, options){Promise<PortalQueryResult>}

对 Portal 执行查询,以返回与输入查询相匹配的 PortalGroup 对象数组。

参数
自动转换自 Object

PortalQueryParams 中定义的输入查询参数。

options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<PortalQueryResult> 解决时,将解析为 PortalQueryResult 的实例,该实例包含 PortalGroup 对象的 results 数组,表示与输入查询相匹配的所有组。
另请参阅
queryItems(queryParams, options){Promise<PortalQueryResult>}

对 Portal 执行查询,以返回与输入查询相匹配的 PortalItem 对象数组。

参数
自动转换自 Object

PortalQueryParams 中定义的输入查询参数。

options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<PortalQueryResult> 解决时,将解析为 PortalQueryResult 的实例,该实例包含 PortalItem 对象的 results 数组,表示与输入查询相匹配的所有项目。
另请参阅
示例
// Once portal is loaded, user signed in
  portal.load().then(function() {
    console.log(portal);

    // Create query parameters for the portal search
    // This object autocasts as new PortalQueryParams()
    let queryParams = {
      query: "owner:" + portal.user.username,
      sortField: "numViews",
      sortOrder: "desc",
      num: 20
    };

    // Query the items based on the queryParams created from portal above
    portal.queryItems(queryParams).then(createGallery);
  });
queryUsers(queryParams, options){Promise<PortalQueryResult>}

对 Portal 执行查询,以返回与输入查询相匹配的 PortalUser 对象的数组。

参数
自动转换自 Object

PortalQueryParams 中定义的输入查询参数。

options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<PortalQueryResult> 解决时,将解析为 PortalQueryResult 的实例,该实例包含 PortalUser 对象的 results 数组,表示与输入查询相匹配的所有项目。
另请参阅
示例
// Once portal is loaded, user signed in
portal.load().then(function() {
   // queryUsers
   // This object autocasts as new PortalQueryParams()
   let queryParameters = {
     query: "username:" + portal.user.username
   };

   portal.queryUsers(queryParameters).then(function(queryResults){
     queryResults.results[0].fetchFolders().then(function(folders){
       folders.forEach(function(folder){
         console.log(" user folder", folder.title);
       });
     });
   });
});
removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");
when(callback, errback){Promise}
起始版本:GeoScene Maps SDK for JavaScript 4.6

一旦创建了类的实例,就可以使用when() 。此方法接受两个输入参数:callback 函数和 errback 函数。callback 在类的实例加载时执行。errback 在类的实例无法加载时执行。

参数
callback Function
optional

当 promise 解决时调用的函数。

errback Function
optional

当 promise 失败时执行的函数。

返回
类型 描述
Promise 返回 callback 结果的新承诺,可用于链接其他函数。
示例
// Although this example uses MapView, any class instance that is a promise may use when() in the same way
let view = new MapView();
view.when(function(){
  // This function will execute once the promise is resolved
}, function(error){
  // This function will execute if the promise is rejected due to an error
});

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息