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


JavaScript ArcGIS FeatureLayer.dynamicDataSource用法及代碼示例

基本信息

以下是所在類或對象的基本信息。

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

ESM: import FeatureLayer from "@arcgis/core/layers/FeatureLayer";

類: esri/layers/FeatureLayer

繼承: FeatureLayer > Layer > Accessor

自從:用於 JavaScript 4.0 的 ArcGIS API

用法說明

FeatureLayer.dynamicDataSource函數(或屬性)的定義如下:

dynamicDataSource DynamicMapLayer | DynamicDataLayer


自從:ArcGIS 適用於 JavaScript 4.7 的 API

允許您使用來自Map服務子圖層的數據或來自已注冊工作空間的數據創建動態圖層的對象。請參閱DynamicMapLayer,了解從Map服務圖層創建動態圖層以進行動態渲染、標記和過濾(定義表達式)。要從已注冊工作空間(例如表和表連接)中的其他源創建動態圖層,請參閱DynamicDataLayer

如果您已經有一個Sublayer 實例,您可以在子圖層上調用createFeatureLayer() 方法為您構建圖層。

這僅適用於啟用了dynamic layers 的Map服務。

例子:

const layer = new FeatureLayer({
  url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/AGP/Census/MapServer",
  title: "United States Population",
  popupTemplate: {
    title: "{states.STATE_NAME}",
    content: "{expression/per_ancestry}% of the {states.POP2007} people in {states.STATE_NAME} have "
      + "Norwegian ancestry.",
    expressionInfos: [{
      name: "per_ancestry",
      expression: "Round( ( $feature['ancestry.norwegian'] / $feature['states.POP2007'] ) * 100, 1)"
    }],
    fieldInfos: [{
      fieldName: "states.POP2007",
      format: {
        digitSeparator: true,
        places: 0
      }
    }]
  },
  dynamicDataSource: {
    type: "data-layer",
    dataSource: {
      type: "join-table",
      leftTableSource: {
        type: "map-layer",
        mapLayerId: 3
      },
      rightTableSource: {
        type: "data-layer",
        dataSource: {
          type: "table",
          workspaceId: "CensusFileGDBWorkspaceID",
          dataSourceName: "ancestry"
        }
      },
      leftTableKey: "STATE_NAME",
      rightTableKey: "State",
      joinType: "left-outer-join"
    }
  }
});

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 FeatureLayer.dynamicDataSource。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。