门户中的项目。每个项目都有一个唯一的标识符和一个众所周知的 URL,该 URL 独立于拥有该项目的用户。一个项目可能有相关的二进制或文本数据,可通过项目数据资源获得。有关更多详细信息,请查看 item 的 GeoScene portal API REST 文档。
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 指定此项目的访问级别: | 更多信息 | 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 | |
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帐户,用于监视服务使用情况。
-
起始版本: GeoScene API for JavaScript 4.22
-
包含一组对象,其中包含高级平台服务的代理信息。这在使用高级和订户服务的注册应用程序中最为普遍,例如路由和分析服务。
-
avgRating Number
-
平均评分。显示的结果使用“贝叶斯平均”进行加权平均。
-
起始版本: GeoScene API for JavaScript 4.22
-
在项目上设置的一组组织类别。
-
created Date
-
项目的创建日期。
-
culture String
-
项目的区域设置信息(语言和国家/地区)。
-
起始版本: GeoScene API for JavaScript 4.22
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
description String
-
项目的详细描述。
-
extent Extent
-
项目的地理边界矩形。
-
起始版本: 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
-
加载时出现的警告列表。
-
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();
-
起始版本: 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构建的应用程序中工作,且需要从较新版本访问门户的项属性时,此属性非常有用。
-
描述项目的用户定义标签。
-
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";
-
描述此项目内容类型的关键字。
-
url String
-
此项目的服务 URL。只有“要素服务”、“地图服务”、“影像服务”、“场景服务”、“WMS”和“KML”等特定图层项目类型具有服务 URL。
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
Promise<PortalRating> | 更多信息 为可访问的项目添加评分。 | 更多信息 | PortalItem | |
Promise | 更多信息 向门户项目添加新 resource 。 | 更多信息 | PortalItem | |
更多信息 如果 load() 操作已经在进行中,则取消它。 | 更多信息 | PortalItem | ||
PortalItem | 更多信息 创建此对象的克隆。 | 更多信息 | PortalItem | |
Promise | 更多信息 删除指定项目的评分。 | 更多信息 | PortalItem | |
更多信息 销毁portal中的项目。包括任何相关联的资源,包括其关联的 portal。 | 更多信息 | PortalItem | ||
Promise | 更多信息 以 | 更多信息 | PortalItem | |
Promise<PortalRating> | 更多信息 返回给定给项目的评分(如果存在的话)。 | 更多信息 | PortalItem | |
Promise<PortalItem[]> | 更多信息 获取门户项目的特定关系类型的所有相关项目。 | 更多信息 | PortalItem | |
FetchResourcesResult | 更多信息 检索对所有 portal item resources 的引用。 | 更多信息 | PortalItem | |
* | 更多信息 创建此类的新实例,并使用GeoScene产品生成的JSON对象中的值对其进行初始化。 | 更多信息 | PortalItem | |
String | 更多信息 获取项目缩略图的URL。 | 更多信息 | PortalItem | |
Boolean | 更多信息
| 更多信息 | PortalItem | |
Boolean | 更多信息
| 更多信息 | PortalItem | |
Boolean | 更多信息
| 更多信息 | PortalItem | |
Promise | 更多信息 加载该类引用的资源。 | 更多信息 | PortalItem | |
Promise | 更多信息 从门户项目中删除所有 resources 。 | 更多信息 | PortalItem | |
Promise | 更多信息 从门户项目中删除 resource 。 | 更多信息 | PortalItem | |
Object | 更多信息 将此类的实例转换为其 GeoScene portal JSON 表示。 | 更多信息 | PortalItem | |
Promise<PortalItem> | 更多信息 将项目的属性更新到门户,并可以选择更新其数据。 | 更多信息 | PortalItem | |
Promise<PortalItem> | 更多信息 更新门户上项目的缩略图。 | 更多信息 | PortalItem | |
Promise | 更多信息
| 更多信息 | PortalItem |
方法详细说明
-
addRating(rating){Promise<PortalRating>}
-
为可访问的项目添加评分。
参数:rating Number|PortalRating为项目设置的评分。评分必须是介于 1.0 和 5.0 之间的数字。
返回值:类型 描述 Promise<PortalRating> 返回一个 PortalRating
-
addResource(resource, content, options){Promise}起始版本: GeoScene API for JavaScript 4.22
-
向门户项目添加新 resource 。
参数:规范:resource PortalItemResource要添加到门户项目的资源。
content Blob资源内容。
options Objectoptional具有以下属性的对象:
规范:access Stringoptional默认值: "inherit"指定对资源的访问级别。默认值为“inherit”,这会使资源具有与所属项相同的访问级别。
可选值:"inherit"|"private"
signal AbortSignaloptionalSignal 对象可用于中止异步任务。 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 实例的拷贝。
-
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 Stringoptional默认值: json响应的格式。
可选值:"json"|"xml"|"text"|"blob"|"array-buffer"|"document"
options Objectoptional具有如下属性的对象。
规范:signal AbortSignaloptionalSignal 对象可用于中止异步任务。 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 Objectoptional具有如下属性的对象。
规范:signal AbortSignaloptionalSignal 对象可用于中止异步任务。 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 Objectoptional具有如下属性的对象。
规范:signal AbortSignaloptionalSignal 对象可用于中止异步任务。 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 的引用。
参数:params FetchResourcesParamsoptional用于检索 portal item resources 的获取参数。
options Objectoptional具有以下属性的其他选项。
规范:signal AbortSignaloptionalSignal 对象可用于中止异步任务。 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 ObjectGeoScene 格式的实例的 JSON 表示。有关各种输入JSON对象的结构示例,请参阅 GeoScene REST API documentation 。
返回值:类型 描述 * 返回一个该类的新实例。
-
getThumbnailUrl(width){String}起始版本: GeoScene API for JavaScript 4.22
-
获取项目缩略图的URL。
可用宽度尺寸:200、400、800和2400。
参数:width Numberoptional所需的图像宽度。
返回值:类型 描述 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 AbortSignaloptionalSignal 对象可用于中止异步任务。 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 Objectoptional具有如下属性的对象。
规范:signal AbortSignaloptionalSignal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为
AbortError
的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。返回值:类型 描述 Promise 在成功删除所有 resources 时解析。
-
removeResource(resource, options){Promise}起始版本: GeoScene API for JavaScript 4.22
-
从门户项目中删除 resource 。
参数:resource PortalItemResource要从门户项目中删除的资源。
options Objectoptional具有以下属性的对象。
规范:signal AbortSignaloptionalSignal 对象可用于中止异步任务。 Signal 被发出时,返回的 promise 对象状态将会变为 rejected 并抛出一个名为
AbortError
的 Error 。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。返回值:类型 描述 Promise 在删除操作完成后解析。
-
toJSON(){Object}
-
将此类的实例转换为其 GeoScene portal JSON 表示。 有关更多信息,请参阅 fromJSON() 。
返回值:类型 描述 Object 此类实例的 GeoScene portal JSON 表示。
-
update(params){Promise<PortalItem>}
-
将项目的属性更新到门户,并可以选择更新其数据。
参数:params Objectoptional请参阅下面的对象规范表,了解可作为此对象中的属性传递的参数。
规范:Optional. 用于将项表示的数据流式传输到客户端的组件。
返回值:类型 描述 Promise<PortalItem> 门户项目的属性更新时解析。
-
updateThumbnail(params){Promise<PortalItem>}起始版本: GeoScene API for JavaScript 4.22
-
更新门户上项目的缩略图。
参数:规范:params Object有关此对象中可能作为属性传递的参数,请参见下面的对象规范表。
规范:URL、数据URI、Blob或文件。可以是
GIF
,JPG
, 和PNG
。filename StringoptionalthumbnailUrl 中用于缩略图的文件名。
返回值:类型 描述 Promise<PortalItem> 当门户项目的缩略图更新时解析。
-
when(callback, errback){Promise}起始版本: GeoScene API for JavaScript 4.22
-
when()
创建类的实例后,会被执行一次。该方法接受两个参数:callback
函数和errback
函数。callback
在类的实例加载时执行。 如果类的实例无法加载,则执行errback
。参数:callback Functionoptional当 Promise 成功时,该函数将被调用。
errback Functionoptional当 Promise 失败时,该函数将被调用。
返回值:类型 描述 Promise 返回回调结果的新promise,可用于 链接其他函数。 示例代码:// 尽管此示例使用 MapView,但任何作为 Promise 的类实例都可以以相同的方式使用 when() let view = new MapView(); view.when(function(){ // 当 Promise resolved 时,函数将被执行 }, function(error){ // 当 Promise 通过 rejected 抛错时,这个函数将被执行 });
类型定义
-
FetchResource
-
fetchResources() 结果中返回的资源引用。
- 属性:
-
resource PortalItemResource
请求的资源。
created Date创建资源的时间。
size Number资源的大小(以字节为单位)。
-
FetchResourcesParams
-
使用 fetchResources() 获取门户项目资源时使用的参数。
-
FetchResourcesResult
-
fetchResources() promise 解析时返回的对象。
- 属性:
-
resources FetchResource[]
请求的资源。
nextStart Number如果当前结果集不包含所有结果,则返回下一个条目索引。
total Number结果的总数。