当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS Portal用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/portal/Portal"], (Portal) => { /* code goes here */ });

ESM: import Portal from "@arcgis/core/portal/Portal";

类: esri/portal/Portal

继承: Portal > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

Portal 类是 ArcGIS Enterprise portal 的一部分,它提供了一种构建应用程序的方法,这些应用程序可以处理来自 ArcGIS OnlineArcGIS Enterprise portal 的内容。 ArcGIS Enterprise 是来自 Esri 的软件,客户可以部署 on-premises 或在云中。 ArcGIS Online 是 Esri 的软件即服务产品,它代表 GIS 即服务,并使用与 ArcGIS Enterprise 相同的技术实施。

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

Portal 类提供当前用户(匿名或登录)看到的门户视图。它包括此门户的名称、徽标、特色项目和支持的协议(http 与 https)等信息。如果用户未登录,此调用将返回门户的默认视图。如果用户已登录,则返回的门户视图将特定于用户所属的组织。门户的默认视图取决于从用户配置文件中获取的用户文化。

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

  1. PortalItem并设置门户的网址.
    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()方法来执行只有在Portal加载后才能运行的进程。

// load the Portal and PortalQueryParams modules
require(["esri/portal/Portal",
 "esri/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);
  });
});

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 Portal。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。