PortalItem

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

门户中的项目。每个项目都有一个唯一的标识符和一个众所周知的 URL,该 URL 独立于拥有该项目的用户。一个项目可能有相关的二进制或文本数据,可通过项目数据资源获得。有关更多详细信息,请查看 item 的 GeoScene portal API REST 文档。

示例:

构造函数

new PortalItem(properties)
参数:
properties Object
optional

所有可传入构造函数的属性,请参见属性列表

示例代码:
// 典型用法
let item = new PortalItem({
  id: "affa021c51944b5694132b2d61fe1057"
});
item.load();

属性列表

可以设置、检索或监听的属性。参见 使用属性
展示继承属性 隐藏继承属性
属性 类型 描述
String更多信息

指定此项目的访问级别: private, shared, org, 或者 public.

更多信息PortalItem
String更多信息

有关项目来源及其版权状态的信息。

更多信息PortalItem
String更多信息

用于访问门户项目的授权信息。

更多信息PortalItem
Object[]更多信息

包含一组对象,含有高级平台服务的代理信息。

更多信息PortalItem
Number更多信息

该项目的平均评分

更多信息PortalItem
String[]更多信息

在项目上设置的组织类别。

更多信息PortalItem
Date更多信息

项目的创建日期。

更多信息PortalItem
String更多信息

项目的区域设置信息(语言和国家/地区)。

更多信息PortalItem
String更多信息

类名。

更多信息Accessor
String更多信息

项目的详细描述。

更多信息PortalItem
Extent更多信息

项目的地理边界矩形。

更多信息PortalItem
String[]更多信息

在项目上设置的群组类别。

更多信息PortalItem
String更多信息

项目的唯一id。

更多信息PortalItem
Boolean更多信息

指定是否可以使用 Layer.fromPortalItem() 创建图层。

更多信息PortalItem
String更多信息

是否可以更新或删除项目。

更多信息PortalItem
String更多信息

项目的 URL。

更多信息PortalItem
String更多信息

该项目相关的许可或限制的信息。

更多信息PortalItem
Boolean更多信息

项目的资源是否已从 portal 加载。

更多信息PortalItem
Error更多信息

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

更多信息PortalItem
String更多信息

表示加载操作的状态。

更多信息PortalItem
Object[]更多信息

加载时出现的警告列表。

更多信息PortalItem
Date更多信息

上次修改项目的日期。

更多信息PortalItem
String更多信息

项目名称。

更多信息PortalItem
Number更多信息

项目的评论数。

更多信息PortalItem
Number更多信息

项目的评分。

更多信息PortalItem
Number更多信息

项目的查看次数。

更多信息PortalItem
String更多信息

拥有此项目的用户的用户名。

更多信息PortalItem
String更多信息

存储项目的文件夹的 ID。

更多信息PortalItem
Portal更多信息

包含该项目的门户。

更多信息PortalItem
String[]更多信息

 URL 数组。

更多信息PortalItem
Number更多信息

项目的大小(以字节为单位)。

更多信息PortalItem
String更多信息

项目的摘要描述。

更多信息PortalItem
Object更多信息

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

更多信息PortalItem
String[]更多信息

描述项目的用户定义标签。

更多信息PortalItem
String更多信息

用于项目的缩略图的 URL。

更多信息PortalItem
String更多信息

项目的标题。

更多信息PortalItem
String更多信息

项目的 GIS 内容类型。

更多信息PortalItem
String[]更多信息

描述此项目内容类型的关键字。

更多信息PortalItem
String更多信息

此项目的服务 URL。

更多信息PortalItem

属性详细说明

access String

此项目的访问级别: private, shared, org, 或 public.

可选值:"private"|"shared"|"org"|"public"

accessInformation String

有关项目来源及其版权状态的信息。

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

用于访问门户项目的授权信息。 API keys 在 GeoScene Developer dashboard 中生成和管理。API密钥明确绑定到GeoScene帐户,用于监视服务使用情况。

applicationProxies Object[]readonly
起始版本: GeoScene API for JavaScript 4.22

包含一组对象,其中包含高级平台服务的代理信息。这在使用高级和订户服务的注册应用程序中最为普遍,例如路由和分析服务。

属性:
sourceUrl String

高级地图服务图层的 URL。

proxyUrl String

源 URL 的代理 URL。

proxyId String

在 GeoScene Online 或 GeoScene Enterprise Portal 中注册的代理 ID。

avgRating Number

平均评分。显示的结果使用“贝叶斯平均”进行加权平均。

categories String[]
起始版本: GeoScene API for JavaScript 4.22

在项目上设置的一组组织类别。

created Date

项目的创建日期。

culture String

项目的区域设置信息(语言和国家/地区)。

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

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

description String

项目的详细描述。

extent Extent

项目的地理边界矩形。

groupCategories String[]
起始版本: GeoScene API for JavaScript 4.22

在项目上设置的组类别数组。这与 categories 略有不同,因为它只返回从 PortalGroup.queryItems 返回的组内容中的类别。

id String

项目的唯一 ID。您通常可以在其 url 中找到项目的 id。

示例代码:
// to access the portal item at this url
// https://www.geosceneonline.cn/geoscene/webapps/item?id=3a9976baef9240ab8645ee25c7e9c09f
let item = new PortalItem({
  id: "3a9976baef9240ab8645ee25c7e9c09f"
});
isLayer Booleanreadonly

指定是否可以使用 Layer.fromPortalItem() 创建图层。

示例代码:
if (item.isLayer) {
  Layer.fromPortalItem({
    portalItem: item
  }).then(addLayerToMap);
}
itemControl Stringreadonly

指定是否可以更新和删除项目。

可选值 描述
admin 可以更新或删除该项目。
update 该项目可以更新,但不能删除。
null 该项目无法被更新或删除。

可选值:"admin"|"update"|"null"

itemUrl Stringreadonly

项目的 URL。

licenseInfo String

有关与该项目相关的许可或限制的信息。

loaded Booleanreadonly

指示项目的资源是否已从门户加载。当参数为true,对象的所有属性都可以访问。

默认值:false
loadError Errorreadonly

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

默认值:null
loadStatus Stringreadonly

表示加载操作的状态。

描述
not-loaded 该对象的资源尚未加载。
loading 该对象的资源正在加载。
loaded 该对象的资源已正确加载。
failed 对象的资源加载失败。 有关详细信息,请参阅 loadError

可选值:"not-loaded"|"loading"|"failed"|"loaded"

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

加载时出现的警告列表。

modified Date

上次修改项目的日期。

name String

项目的名称。

numComments Number

项目的评论数。

numRatings Number

项目的评分。

numViews Number

项目的查看次数。

owner String

拥有此项目的用户的用户名。

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

所有者存储项目的文件夹的 ID。这仅返回给项目所有者或组织管理员。

包含该项目的门户。它默认使用 Portal.getDefault(),以及从 config.portalUrl 获取URL。 我们建议使用 config.portalUrl 替代此属性。如果需要使用多个门户实例,请直接在 PortalItem 中设置门户的 url ,或者在将它们传递到 PortalItem.portal 属性之前创建单独的门户实例。这两个示例如下所示:

Layer.fromPortalItem({
  portalItem: {
    id: "e691172598f04ea8881cd2a4adaa45ba",
    // autocastable to Portal
    portal: {
      url: "https://thePortalUrl"
    }
  }
});

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();
screenshots String[]
起始版本: GeoScene API for JavaScript 4.22

字符串 URL 数组。这些 URL 应该指向与应用程序相关的屏幕截图。

比如: "screenshots/Basic.png".

默认值:null
size Number

项目的大小(以字节为单位)。

snippet String

项目的摘要描述。

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

加载 PortalItem 用于创建属性值的JSON。尽管最常用的属性直接暴露在PortalItem类上,但这提供了对门户项目返回的所有信息的访问。如果在使用较旧版本的API构建的应用程序中工作,且需要从较新版本访问门户的项属性时,此属性非常有用。

示例:
tags String[]

描述项目的用户定义标签。

thumbnailUrl Stringreadonly

用于项目的缩略图的 URL。

示例:
title String

项目的标题。这是向用户显示并用于引用项目的名称。每个项目都必须有一个标题。

type String

此项目的GIS内容类型。示例类型包括Web地图、地图服务、Shapefile和Web地图应用程序。请参阅 GeoScene REST API Items and Items Types Reference 以了解项目类型层次结构。

示例代码:
portalItem.type = "Web Map";
portalItem.type = "Web Mapping Application";
typeKeywords String[]

描述此项目内容类型的关键字。

url String

此项目的服务 URL。只有“要素服务”、“地图服务”、“影像服务”、“场景服务”、“WMS”和“KML”等特定图层项目类型具有服务 URL。

方法列表

属性 返回值类型 描述
Promise<PortalRating>更多信息

为可访问的项目添加评分。

更多信息PortalItem
Promise更多信息

向门户项目添加新 resource 。

更多信息PortalItem
更多信息

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

更多信息PortalItem
PortalItem更多信息

创建此对象的克隆。

更多信息PortalItem
Promise更多信息

删除指定项目的评分。

更多信息PortalItem
更多信息

销毁portal中的项目。包括任何相关联的资源,包括其关联的 portal

更多信息PortalItem
Promise更多信息

以 responseType中指定的格式请求PortalItem。

更多信息PortalItem
Promise<PortalRating>更多信息

返回给定给项目的评分(如果存在的话)。

更多信息PortalItem
Promise<PortalItem[]>更多信息

获取门户项目的特定关系类型的所有相关项目。

更多信息PortalItem
FetchResourcesResult更多信息

检索对所有 portal item resources 的引用。

更多信息PortalItem
*更多信息

创建此类的新实例,并使用GeoScene产品生成的JSON对象中的值对其进行初始化。

更多信息PortalItem
String更多信息

获取项目缩略图的URL。

更多信息PortalItem
Boolean更多信息

isFulfilled() 可用于验证创建类的实例是否已完成(无论成功或失败)。

更多信息PortalItem
Boolean更多信息

isRejected() 可用于验证创建类的实例是否失败。

更多信息PortalItem
Boolean更多信息

isResolved() 可用于验证创建类的实例是否成功。

更多信息PortalItem
Promise更多信息

加载该类引用的资源。

更多信息PortalItem
Promise更多信息

从门户项目中删除所有 resources 。

更多信息PortalItem
Promise更多信息

从门户项目中删除 resource

更多信息PortalItem
Object更多信息

将此类的实例转换为其 GeoScene portal JSON 表示。

更多信息PortalItem
Promise<PortalItem>更多信息

将项目的属性更新到门户,并可以选择更新其数据。

更多信息PortalItem
Promise<PortalItem>更多信息

更新门户上项目的缩略图。

更多信息PortalItem
Promise更多信息

when() 创建类的实例后,会被执行一次。

更多信息PortalItem

方法详细说明

addRating(rating){Promise<PortalRating>}

为可访问的项目添加评分。

参数:

为项目设置的评分。评分必须是介于 1.0 和 5.0 之间的数字。

返回值:
类型 描述
Promise<PortalRating> 返回一个 PortalRating 
addResource(resource, content, options){Promise}
起始版本: GeoScene API for JavaScript 4.22

向门户项目添加新 resource

参数:
规范:

要添加到门户项目的资源。

content Blob

资源内容。

options Object
optional

具有以下属性的对象:

规范:
access String
optional
默认值: "inherit"

指定对资源的访问级别。默认值为“inherit”,这会使资源具有与所属项相同的访问级别。

可选值:"inherit"|"private"

signal AbortSignal
optional

Signal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为 AbortError 的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回值:
类型 描述
Promise 返回 PortalItemResource.
示例:
示例代码:
// The following snippet assumes you have an existing portal item instance
// that you are allowed to modify

// An example of an object that we would like to store as a resource
const definition = { type: "world", description: "A world definition" };

const resource = new PortalItemResource({ path: "definitions/world.json" });

// Resource content is always passed as a blob. Define a blob that contains our definition
// in JSON encoding
const content = new Blob([JSON.stringify(definition)], { type: "application/json" });

portalItem.addResource(resource, content)
  .then(function () {
    console.log("Successfully added resource", resource.url);
  })
  .catch(function (error) {
    console.error("Failed to add resource", error);
  });
cancelLoad()

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

clone(){PortalItem}
起始版本: GeoScene API for JavaScript 4.22

创建此对象的拷贝。这是一个除了portal 属性的深拷贝。

返回值:
类型 描述
PortalItem 调用此方法的 PortalItem 实例的拷贝。
deleteRating(){Promise}

删除指定项目的评分。

返回值:
类型 描述
Promise 成功删除评分时返回。
destroy()
起始版本: GeoScene API for JavaScript 4.22

销毁门户项目和任何关联资源,包括其关联的 portal。一旦门户项目被销毁,它们就不能再使用。要防止销毁这些对象,请在调用 destroy()之前将其从门户项目中删除。

// unset the portal from the portal item so that it is not destroyed
const portal = portalItem.portal;
portalItem.portal = null;

// destroy the portal item and any remaining associated resources
portalItem.destroy();
示例:
fetchData(responseType, options){Promise}

responseType中指定的格式请求PortalItem。

参数:
responseType String
optional
默认值: json

响应的格式。

可选值:"json"|"xml"|"text"|"blob"|"array-buffer"|"document"

options Object
optional

具有如下属性的对象。

规范:
signal AbortSignal
optional

Signal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为 AbortError 的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回值:
类型 描述
Promise When resolved, returns the requested data.
fetchRating(options){Promise<PortalRating>}

Returns the rating (if any) given to the item.

参数:
options Object
optional

具有如下属性的对象。

规范:
signal AbortSignal
optional

Signal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为 AbortError 的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回值:
类型 描述
Promise<PortalRating> 完成后,返回一个 PortalRating
fetchRelatedItems(params, options){Promise<PortalItem[]>}

获取门户项目的特定关系类型的所有相关项目。如果关系的方向不明确,可以指定可选方向。否则,服务将尝试推断该关系。

参数:
params Object

请参阅下面的对象规范表,了解可作为此对象中的属性传递的参数。

规范:
relationshipType String

两项之间的关系类型。有关类型的完整列表,请参见 Relationship types 。

direction String

关系的方向。可以是 forward(正向) (从起点到终点) 或 reverse(反向) (从终点到起点)。

可选值:"forward"|"reverse"

options Object
optional

具有如下属性的对象。

规范:
signal AbortSignal
optional

Signal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为 AbortError 的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回值:
类型 描述
Promise<PortalItem[]> 解析为相关 PortalItem 的数组。
示例代码:
let queryParam = {
   relationshipType: "Service2Data"
};

portalItem.fetchRelatedItems(queryParam).then(function(results){
   console.log("related portal item", results);
});
fetchResources(params, options){FetchResourcesResult}
起始版本: GeoScene API for JavaScript 4.22

检索对所有 portal item resources 的引用。

参数:
optional

用于检索 portal item resources 的获取参数。

options Object
optional

具有以下属性的其他选项。

规范:
signal AbortSignal
optional

Signal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为 AbortError 的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回值:
类型 描述
FetchResourcesResult 解析为包含 item resources 的对象。
示例:
示例代码:
portalItem.fetchResources().then(function(result) {
   console.log("next start index: ", result.nextStart);

   result.resources.forEach(function(item) {
     console.log("resource:", item.resource.path, "size:", item.size);
   });
});
fromJSON(json){*}static

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。 传入的 json 对象通常来自对 REST API 中的查询操作的响应或另一个 GeoScene 产品的 toJSON() 方法。 有关如何使用此函数的详细信息请参阅指南中的 fromJSON() 主题。

参数:
json Object

GeoScene 格式的实例的 JSON 表示。有关各种输入JSON对象的结构示例,请参阅 GeoScene REST API documentation 。

返回值:
类型 描述
* 返回一个该类的新实例。
getThumbnailUrl(width){String}
起始版本: GeoScene API for JavaScript 4.22

获取项目缩略图的URL。

可用宽度尺寸:200、400、800和2400。

参数:
width Number
optional

所需的图像宽度。

返回值:
类型 描述
String

指向缩略图的URL。

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

参数:
signal AbortSignal
optional

Signal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为 AbortError 的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回值:
类型 描述
Promise 当资源状态为 loaded 时解析。
removeAllResources(options){Promise}
起始版本: GeoScene API for JavaScript 4.22

Removes all the resources from the portal item.

参数:
options Object
optional

具有如下属性的对象。

规范:
signal AbortSignal
optional

Signal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为 AbortError 的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回值:
类型 描述
Promise 在成功删除所有 resources 时解析。
示例:
removeResource(resource, options){Promise}
起始版本: GeoScene API for JavaScript 4.22

从门户项目中删除 resource 。

参数:

要从门户项目中删除的资源。

options Object
optional

具有以下属性的对象。

规范:
signal AbortSignal
optional

Signal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为 AbortError 的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回值:
类型 描述
Promise 在删除操作完成后解析。
示例:
toJSON(){Object}

将此类的实例转换为其  GeoScene portal JSON 表示。 有关更多信息,请参阅 fromJSON() 。

返回值:
类型 描述
Object 此类实例的 GeoScene portal JSON 表示。
update(params){Promise<PortalItem>}

将项目的属性更新到门户,并可以选择更新其数据。

参数:
params Object
optional

请参阅下面的对象规范表,了解可作为此对象中的属性传递的参数。

规范:
data String|Object

Optional. 用于将项表示的数据流式传输到客户端的组件。

返回值:
类型 描述
Promise<PortalItem> 门户项目的属性更新时解析。
updateThumbnail(params){Promise<PortalItem>}
起始版本: GeoScene API for JavaScript 4.22

更新门户上项目的缩略图。

参数:
规范:
params Object

有关此对象中可能作为属性传递的参数,请参见下面的对象规范表。

规范:
thumbnail Blob|String

URL、数据URI、Blob或文件。可以是 GIF, JPG, 和 PNG

filename String
optional

thumbnailUrl 中用于缩略图的文件名。

返回值:
类型 描述
Promise<PortalItem> 当门户项目的缩略图更新时解析。
when(callback, errback){Promise}
起始版本: GeoScene API for JavaScript 4.22

when() 创建类的实例后,会被执行一次。该方法接受两个参数: callback 函数和 errback 函数。 callback 在类的实例加载时执行。 如果类的实例无法加载,则执行 errback

参数:
callback Function
optional

当 Promise 成功时,该函数将被调用。

errback Function
optional

当 Promise 失败时,该函数将被调用。

返回值:
类型 描述
Promise 返回回调结果的新promise,可用于 链接其他函数。
示例代码:
// 尽管此示例使用 MapView,但任何作为 Promise 的类实例都可以以相同的方式使用 when()
let view = new MapView();
view.when(function(){
  // 当 Promise resolved 时,函数将被执行
}, function(error){
  // 当 Promise 通过 rejected 抛错时,这个函数将被执行
});

类型定义

FetchResource

fetchResources() 结果中返回的资源引用。

属性:

请求的资源。

created Date

创建资源的时间。

size Number

资源的大小(以字节为单位)。

FetchResourcesParams

使用 fetchResources() 获取门户项目资源时使用的参数。

属性:
num Number
optional
默认值:10

包含在结果集响应中的最大结果数。允许的最大值为 100.  start 属性和 num 属性可以用于对搜索结果进行分页。

start Number
optional
默认值:1

结果集响应中第一个条目的索引。起始值为1.  start 属性和 num 属性可用于对搜索结果进行分页。

sortOrder String
optional
默认值:asc

对结果进行排序的顺序。

可选值 描述
asc 按升序对结果排序。
desc

按逆序对结果排序。

可选值:"asc"|"desc"

sortField String
optional
默认值:created

用于对结果进行排序的字段。

可选值:"created"|"size"|"type"

FetchResourcesResult

fetchResources() promise 解析时返回的对象。

属性:
resources FetchResource[]

请求的资源。

nextStart Number

如果当前结果集不包含所有结果,则返回下一个条目索引。

total Number

结果的总数。

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