门户

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

Portal 类是 GeoScene Enterprise portal 的一部分,它提供了一种方法来构建使用 GeoScene OnlineGeoScene Enterprise portal 中内容的应用程序。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/arcgis" // First instance
    });
    
    let portalB = new Portal({
      url: "https://www.exampleB.com/arcgis" // Second instance
    });
    
    let item = new PortalItem({
      id: "e691172598f04ea8881cd2a4adaa45ba",
      portal: portalA // This loads the first portal instance set above
    });
    
    item.load();
    

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

// 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
可选

有关可能传递到构造函数中的所有属性的列表,请参阅属性

属性概述

可以设置、检索或收听任何属性。请查阅使用属性主题。
显示继承的属性 隐藏继承的属性
名称 类型 描述
String更多信息

组织的访问级别。

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
String更多信息

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

更多信息Portal 
String[]更多信息

在发出跨源资源共享 (CORS) 请求以访问受 Web 图层身份验证保护的服务时要向其发送凭据的受信任服务器阵列。

更多信息Portal 
String更多信息

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

更多信息Portal 
String更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
布尔值更多信息

若为 true允许组织成员在组织外部共享。

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
String更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
日期更多信息

组织的创建日期。

更多信息Portal 
String更多信息

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

更多信息Portal 
String更多信息

门户的自定义基准 URL。

更多信息Portal 
String更多信息

类的名称。

更多信息Accessor
底图更多信息

用于门户的默认底图。

更多信息Portal 
底图更多信息

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

更多信息Portal 
范围更多信息

用于门户的默认范围。

更多信息Portal 
底图更多信息

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

更多信息Portal 
String更多信息

组织/门户的描述。

更多信息Portal 
String更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
对象[]更多信息

门户的特色群组。

更多信息Portal 
String更多信息

定义特色组的查询。

更多信息Portal 
String更多信息

标识包含图库要素项的组的查询。

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
Object更多信息

门户提供的帮助服务。

更多信息Portal 
String更多信息

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

更多信息Portal 
整数更多信息

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

更多信息Portal 
整数更多信息

门户用于 HTTP 通信的端口。

更多信息Portal 
整数更多信息

门户用于 HTTPS 通信的端口。

更多信息Portal 
String更多信息

拥有此门户的组织的 ID。

更多信息Portal 
String更多信息

调用 IP 的国家代码(仅限 GeoScene Online)。

更多信息Portal 
布尔值更多信息

指示门户是否为组织。

更多信息Portal 
布尔值更多信息

指示门户是否为本地。

更多信息Portal 
布尔值更多信息

指示门户是否处于只读模式。

更多信息Portal 
String更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
错误更多信息

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

更多信息Portal 
String更多信息

表示加载操作的状态。

更多信息Portal 
对象[]更多信息

加载时发生的警告列表。

更多信息Portal 
整数更多信息

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

更多信息Portal 
日期更多信息

上次修改组织的日期。

更多信息Portal 
String更多信息

组织名称。

更多信息Portal 
String更多信息

门户主机的 URL。

更多信息Portal 
String更多信息

门户模式。

更多信息Portal 
Object更多信息

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

更多信息Portal 
String更多信息

组织的区域。

更多信息Portal 
String更多信息

门户的 REST URL。

更多信息Portal 
对象[]更多信息

主页的自定义 HTML。

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
Object更多信息

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

更多信息Portal 
布尔值更多信息

指示是否支持托管服务。

更多信息Portal 
String更多信息

定义符号集的查询。

更多信息Portal 
String更多信息

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

更多信息Portal 
String更多信息

组织缩略图的 URL。

更多信息Portal 
String更多信息

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

更多信息Portal 
String更多信息

门户实例的 URL。

更多信息Portal 
String更多信息

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

更多信息Portal 
PortalUser更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
布尔值更多信息

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

更多信息Portal 
String更多信息

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

更多信息Portal 

属性详情

access String

组织的访问级别。公开时,匿名用户可以访问组织。私有时,访问权限仅限于组织成员。

可能值:"public"|"private"

allSSL Boolean

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

authMode String

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

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

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

默认值:auto
authorizedCrossOriginDomains String[]

在发出跨源资源共享 (CORS) 请求以访问受 Web 图层身份验证保护的服务时要向其发送凭据的受信任服务器阵列。

basemapGalleryGroupQuery String
起始版本:GeoScene API 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>) 的一部分返回。这需要将门户的访问权限设置为公共。canShareBingPublic 属性不会公开返回,而只会显示给组织内的用户。

默认值:false
canSharePublic Boolean

若为 true允许组织成员在组织外部共享。

默认值:false
canSignInArcGIS Boolean

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

默认值:false
canSignInIDP Boolean

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

默认值:false
colorSetsGroupQuery String

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

commentsEnabled Boolean

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

默认值:false
created Date

组织的创建日期。

culture String

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

customBaseUrl String

门户的自定义基准 URL。

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

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

defaultBasemap Basemap

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

defaultDevBasemap Basemap
起始版本:GeoScene API for JavaScript 4.22

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

defaultExtent Extent

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

defaultVectorBasemap Basemap
起始版本:GeoScene API for JavaScript 4.4

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

description String

组织/门户的描述。

devBasemapGalleryGroupQuery String
起始版本:GeoScene API for JavaScript 4.22

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

eueiEnabled Boolean
起始版本:GeoScene API for JavaScript 4.7

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

默认值:null
featuredGroups Object[]

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

属性:
owner String

群组所有者的名称。

title String

群组标题。

featuredItemsGroupQuery String

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

galleryTemplatesGroupQuery String

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

hasCategorySchema Boolean
起始版本:GeoScene API for JavaScript 4.8

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

默认值:false
helperServices Object
起始版本:GeoScene API 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: "geoscene-blue",
    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: "GeoScene 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 API for JavaScript 4.14

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

layerTemplatesGroupQuery String

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

loaded Booleanreadonly

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

默认值:false
loadError Errorreadonly

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

默认值:null
loadStatus Stringreadonly

表示加载操作的状态。

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

可能值:"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 的“http://www.geosceneonline.cn/geoscene/sharing/rest”和您内部的“https://www.example.com/geoscene/sharing/rest” 门户网站。

rotatorPanels Object[]

主页的自定义 HTML。

showHomePageDescription Boolean

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

sourceJSON Object
起始版本:GeoScene API for JavaScript 4.13

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

另请参阅:
supportsHostedServices Boolean

指示是否支持托管服务。

默认值:false
symbolSetsGroupQuery String

定义符号集的查询。

templatesGroupQuery String

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

thumbnailUrl Stringreadonly

组织缩略图的 URL。

units String

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

可能值:"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 API for JavaScript 4.4

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

vectorBasemapGalleryGroupQuery String
起始版本:GeoScene API for JavaScript 4.4

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

方法概述

名称 返回类型 描述
更多信息

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

更多信息Portal
Promise<ClosestFacilityTask>更多信息

返回门户的 ClosestFacilityTask帮助器服务实例的帮助器函数。

更多信息Portal
Promise<ElevationLayer[]>更多信息

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

更多信息Portal
Promise<GeometryService>更多信息

一个帮助函数,它返回门户的 GeometryService帮助服务的实例。

更多信息Portal
Promise<PrintTask>更多信息

返回门户的 PrintTask帮助服务的实例的帮助函数。

更多信息Portal
Promise<RouteTask>更多信息

返回门户的 RouteTask帮助服务的实例的帮助函数。

更多信息Portal
Promise<ServiceAreaTask>更多信息

返回门户的 ServiceAreaTask帮助服务的实例的帮助函数。

更多信息Portal
Promise<Basemap[]>更多信息

获取显示在 BasemapGallery中的底图

更多信息Portal
Promise<Object[]>更多信息

如果存在,则获取组织的类别架构。

更多信息Portal
Promise<PortalGroup[]>更多信息

获取门户中的特色组。

更多信息Portal
Promise<Object[]>更多信息

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

更多信息Portal
Promise<Object>更多信息

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

更多信息Portal
门户更多信息

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

更多信息Portal
布尔值更多信息

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

更多信息Portal
布尔值更多信息

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

更多信息Portal
布尔值更多信息

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

更多信息Portal
Promise更多信息

加载此类引用的资源。

更多信息Portal
Promise<PortalQueryResult>更多信息

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

更多信息Portal
Promise<PortalQueryResult>更多信息

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

更多信息Portal
Promise<PortalQueryResult>更多信息

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

更多信息Portal
Promise更多信息

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

更多信息Portal

方法详情

cancelLoad()

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

createClosestFacilityTask(){Promise<ClosestFacilityTask>}
起始版本:GeoScene API for JavaScript 4.12
已弃用从 4.21 版开始。将 closestFacilityhelperServices 一起使用。

返回门户的 ClosestFacilityTask 帮助器服务实例的帮助器函数。

返回:
类型 说明
Promise<ClosestFacilityTask> 解析后,返回 ClosestFacilityTask 的实例。
另请参阅:
createElevationLayers(){Promise<ElevationLayer[]>}
起始版本:GeoScene API for JavaScript 4.12

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

返回:
类型 说明
Promise<ElevationLayer[]> 解析后,返回一个 ElevationLayers 数组。
另请参阅:
createGeometryService(){Promise<GeometryService>}
起始版本:GeoScene API for JavaScript 4.12
已弃用从 4.21 版开始。将 geometryServicehelperServices 一起使用。

一个帮助函数,它返回门户的 GeometryService帮助服务的实例。

返回:
类型 说明
Promise<GeometryService> 解析后,返回 GeometryService 实例。
另请参阅:
createPrintTask(){Promise<PrintTask>}
起始版本:GeoScene API for JavaScript 4.12
已弃用从 4.21 版开始。将 printhelperServices 一起使用。

返回门户的 PrintTask帮助服务的实例的帮助函数。

返回:
类型 说明
Promise<PrintTask> 解析后,返回 PrintTask 实例。
另请参阅:
示例:
// example using "geoscene/rest/print" with helperServices

require([
 "geoscene/portal/Portal",
 "geoscene/rest/print",
 "geoscene/rest/support/PrintTemplate",
 "geoscene/rest/support/PrintParameters",
 ...
], function(Portal, print, PrintTemplate, PrintParameters, ... ) {

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

  const template = new PrintTemplate({
    format: "pdf",
    exportOptions: {
      dpi: 12
    },
    layout: "a4-portrait",
    layoutOptions: {
      titleText: "Gillette Stadium",
      authorText: "Thomas B."
    }
  });

  const params = new PrintParameters({
    view: view,
    template: template
  });

  // load Portal instance
  portal.load().then(function() {
    // access helperServices from the Portal instance
    // to get the print URL of interest
    const printURL = portal.helperServices.printTask.url;
    // use helperServices to perform printing
    print.execute(printURL, params).then(printResult).catch(printError);
  }

  function printResult(result) {
    console.log(result.url);
    window.open(result.url);
  }

  function printError(err) {
    console.log("Something broke: ", err);
  }
});
createRouteTask(){Promise<RouteTask>}
起始版本:GeoScene API for JavaScript 4.12
已弃用从 4.21 版开始。将 路径helperServices 一起使用。

返回门户的 RouteTask 帮助服务的实例的帮助函数。

返回:
类型 说明
Promise<RouteTask> 解析后,返回 RouteTask 实例。
另请参阅:
示例:
// example using "geoscene/rest/route" with helperServices

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

  // 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();

  // 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: "GeoScene 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: [0, 0, 255, 0.5],
    width: 5
  };

  // load Portal instance
  portal.load().then(function() {
    // 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 it on the map
  function showRouteInfo(routeSolveResult) {
    console.log("Show all results: ", routeSolveResult);
    console.log("Show the route information: ", routeSolveResult.routeResults[0].route);
    const routeResult = routeSolveResult.routeResults[0].route;
    routeResult.symbol = routeSymbol;
    routingLayer.add(routeResult);
    map.add(routingLayer);
  }
});
createServiceAreaTask(){Promise<ServiceAreaTask>}
起始版本:GeoScene API for JavaScript 4.12
已弃用从 4.21 版开始。将 路径helperServices 一起使用。

返回门户的 ServiceAreaTask帮助服务的实例的帮助函数。

返回:
类型 说明
Promise<ServiceAreaTask> 解析后,返回 ServiceAreaTask 实例。
另请参阅:
示例:
// example using "geoscene/rest/serviceArea" with helperServices

require([
  "geoscene/portal/Portal",
  "geoscene/rest/serviceArea",
  "geoscene/rest/support/ServiceAreaParameters",
  "geoscene/rest/support/FeatureSet",
  "geoscene/Graphic",
  ...
], function(Portal, serviceArea, ServiceAreaParams, FeatureSet, Graphic, ...) {

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

  // load Portal instance
  portal.load();

  view.on("click", function(event){
    const locationGraphic = createGraphic(event.mapPoint);
    const serviceAreaParams = createServiceAreaParams(locationGraphic, view.spatialReference);
    const serviceAreaUrl = portal.helperServices.serviceArea.url;
    solveServiceArea(serviceAreaUrl, serviceAreaParams);
  });

  // Create the location graphic
  function createGraphic(point) {
    view.graphics.removeAll();
    const graphic = new Graphic({
      geometry: point,
      symbol: {
        type: "simple-marker",
        color: "white",
        size: 8
      }
    });
    view.graphics.add(graphic);
    return graphic;
  }

  function createServiceAreaParams(locationGraphic, outSpatialReference) {
    // Create one or more locations (facilities) to solve for
    const featureSet = new FeatureSet({
      features: [locationGraphic]
    });

    // Set all of the input parameters for the service
    const serviceAreaParameters = new ServiceAreaParams({
      apiKey: "YOUR_API_KEY",
      facilities: featureSet,
      trimOuterPolygon: true,
      outSpatialReference: outSpatialReference
    });
    return serviceAreaParameters;
  }

  function solveServiceArea(url, serviceAreaParams) {
    return serviceArea.solve(url, serviceAreaParams)
      .then(function(result){
        if (result.serviceAreaPolygons.length) {
          // Draw each service area polygon
          result.serviceAreaPolygons.forEach(function(graphic){
            graphic.symbol = {
              type: "simple-fill",
              color: "rgba(62,13,94,.25)"
            }
            view.graphics.add(graphic,0);
          });
        }
      }, function(error){
           console.log(error);
         });
  }
});
fetchBasemaps(basemapGalleryGroupQuery, options){Promise<Basemap[]>}

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

参数:
basemapGalleryGroupQuery String
可选

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

options Object
可选

具有以下属性的对象。

规范:
可选

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被一个名为 AbortErrorError 拒绝。另请参阅 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 API for JavaScript 4.8

如果存在,则获取组织的类别架构。

参数:
options Object
可选

具有以下属性的对象。

规范:
可选

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

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

获取门户中的特色组。

参数:
options Object
可选

具有以下属性的对象。

规范:
可选

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被一个名为 AbortErrorError 拒绝。另请参阅 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 API for JavaScript 4.8

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

参数:
options Object
可选

具有以下属性的对象。

规范:
可选

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

返回:
类型 说明
Promise<Object[]> 解析为包含以下属性的对象数组:
属性 类型 说明
localizedName 字符串 区域的本地化名称。例如,“澳大利亚”。
name 字符串 区域名称。例如,“澳大利亚”。
region string 区域名称。例如 "AU"。
另请参阅:
fetchSettings(options){Promise<Object>}
起始版本:GeoScene API for JavaScript 4.23

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

参数:
options Object
可选

具有以下属性的对象。

规范:
可选

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

返回:
类型 说明
Promise<Object> 解析为包含帮助服务、重定向 URI 和访问通知或信息横幅配置等信息的对象。
另请参阅:
getDefault(){Portal}static

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

返回:
类型 说明
Portal 门户实例。
isFulfilled(){Boolean}

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

返回:
类型 说明
布尔值 指示创建类的实例是否已完成(已解决或已拒绝)。
isRejected(){Boolean}

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

返回:
类型 说明
布尔值 指示创建类的实例是否已被拒绝。
isResolved(){Boolean}

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

返回:
类型 说明
布尔值 指示创建类的实例是否已解决。
load(signal){Promise}

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

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

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

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

参数:
可选

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

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

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

参数:
Autocasts from Object

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

options Object
可选

具有以下属性的对象。

规范:
可选

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

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

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

参数:
Autocasts from Object

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

options Object
可选

具有以下属性的对象。

规范:
可选

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被一个名为 AbortErrorError 拒绝。另请参阅 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 对象数组。

参数:
Autocasts from Object

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

options Object
可选

具有以下属性的对象。

规范:
可选

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被一个名为 AbortErrorError 拒绝。另请参阅 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);
       });
     });
   });
});
when(callback, errback){Promise}
起始版本:GeoScene API for JavaScript 4.6

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

参数:
callback Function
可选

当 promise 解决时调用的函数。

errback Function
可选

当 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
});

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