當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。