-
createRenderer
(params)
{Promise<RendererResult>}
生成可以直接應用於支持渲染器的Layer 的Renderer。渲染器包含表示從指定字段返回的字符串或數值的唯一符號。
在大多數情況下,您將提供
layer
、view
和field
來生成此渲染器。在這種情況下,字段的值並不為人所知,並且用戶不知道在可視化中使用哪種顏色。您還可以使用valueExpression
而不是field
根據在運行時執行的腳本返回的值來可視化特征。參數:
規格:類型 說明 params Object根據從給定字段返回的數據生成符號以表示唯一類型的輸入參數。有關每個參數的詳細信息,請參見下表。
規格:為其生成渲染器的層。
view可選的 渲染輸入層的視圖。此方法檢查視圖的背景(即底圖、Web Map背景或視圖容器)以確定輸出渲染器的最佳顏色。在實踐中應始終設置此參數,但如果未提供此參數,則此方法將假定生成的渲染器將顯示在淺色背景上。當使用
valueExpression
創建渲染器或用於在 SceneView 中顯示的渲染器時,此參數是必需的。field可選的 要從中提取唯一值的字段的名稱,這些值將用作數據驅動的可視化的基礎。如果使用
valueExpression
,則忽略此屬性。numTypes可選的 默認值: 10渲染器顯示的類型(或類別)的數量。使用
-1
顯示所有返回的類型。sortBy可選的 默認值:數數指示值應如何在 Legend 中排序。有關可以傳遞給此參數的值的信息,請參見下表。
可能的值 說明 count 唯一值/類型將根據屬於每個類別的特征數量從高到低排序。 value 唯一值/類型將按字母順序排序。 可能的值:"count"|"value"
typeScheme可選的 在創作應用程序中,用戶可以選擇預定義的類型方案。將方案對象傳遞給此屬性以避免根據視圖的背景獲取一個。
valueExpression可選的 遵循 Arcade Visualization Profile 定義的規範的 Arcade 表達式。表達式可以使用
$feature
全局變量引用字段值,並且必須返回字符串或數字。此屬性覆蓋field
屬性,因此用於代替輸入field
值。valueExpressionTitle可選的 說明從
valueExpression
返回的值的文本。這是由Legend 小部件使用的。outlineOptimizationEnabled可選的 默認值:錯誤的僅適用於多邊形圖層。指示多邊形輪廓寬度是否應根據視圖比例而變化。設置後,必須在
view
參數中提供有效的 MapView 實例。 3D SceneViews 不支持此選項。sizeOptimizationEnabled可選的 默認值:錯誤的僅適用於點和折線圖層。指示符號大小是否應根據視圖比例而變化。設置後,必須在
view
參數中提供有效的 MapView 實例。 3D SceneViews 不支持此選項。legendOptions可選的 提供用於為字段設置標題的選項,該字段將覆蓋服務中定義的字段別名。此標題將表示 Legend 中的字段。
規格:title用於表示 Legend 中給定字段的標題。
defaultSymbolEnabled可選的 在渲染器上啟用
defaultSymbol
並將其分配給沒有值的函數。symbolType可選的 默認值:二維要生成的符號類型。這取決於您正在使用的視圖和所需的可視化。對於具有
mesh
幾何類型的圖層,可以忽略此參數。可能的值如下所述。值 說明 2d 使用 2D 符號(例如 SimpleMarkerSymbol 、 SimpleLineSymbol 或 SimpleFillSymbol )生成可視化。如果為 MapView 中的數據生成可視化,請使用此選項。 3d-flat 使用具有平麵符號圖層(例如 IconSymbol3DLayer 、 LineSymbol3DLayer 或 FillSymbol3DLayer )的 3D 符號生成可視化。如果為 SceneView 中的數據生成 2D 可視化,請使用此選項。 3d-volumetric 使用具有體積符號圖層的 3D 符號生成可視化,例如 ObjectSymbol3DLayer 、 PathSymbol3DLayer 或 ExtrudeSymbol3DLayer 。如果為 SceneView 中的數據生成 3D 可視化,並且隻有符號的高度應該是可變的,例如圓柱體,則使用此選項。如果使用此選項,則必須向 view
參數提供 SceneView 實例。3d-volumetric-uniform 使用帶有體積符號圖層的uniformly-sized 3D 符號生成可視化。如果為 SceneView 中的數據生成 3D 可視化,並且符號的大小應統一(例如球體),請使用此選項。如果使用此選項,則必須向 view
參數提供 SceneView 實例。可能的值:"2d"|"3d-flat"|"3d-volumetric"|"3d-volumetric-uniform"
statistics可選的 從 uniqueValues 函數生成的統計對象。如果該字段的統計信息已經生成,則在此處傳遞對象以避免向服務器進行第二次統計查詢。
colorMixMode可選的 默認值:代替此選項僅適用於生成網格 SceneLayers 的渲染器.指定符號顏色如何應用於幾何顏色/紋理。請參閱中的文檔FillSymbol3DLayer.material了解更多上下文。有關可能的值,請參見下表。
值 說明 tint 將符號 color
應用於去飽和幾何體/紋理顏色。replace 移除幾何/紋理顏色並應用符號 color
。multiply 將幾何/紋理顏色值與符號 color
值相乘。結果是顏色較深。與白色相乘可保持幾何顏色相同。returnAllCodedValues可選的 指示如果給定字段具有域值,則應返回所有域代碼。
signal可選的 允許可取消的請求。如果取消,promise 將被拒絕,並出現名為
AbortError
的錯誤。另見AbortController。返回:
類型 說明 Promise<RendererResult> 解析為 RendererResult 的實例。 例子:
let layer = new FeatureLayer({ portalItem: { id: "5ce5374a461e45bab714b43ffedf151d" } }); // visualization based on categorical field let typeParams = { layer: layer, view: view, field: "Party" }; // when the promise resolves, apply the visual variables to the renderer typeRendererCreator.createRenderer(typeParams) .then(function(response){ layer.renderer = response.renderer; });
let layer = new FeatureLayer({ url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureServer/0" }); // visualization based off Arcade expression let typeParams = { layer: layer, valueExpression: "IIF($feature.DEMOCRAT > $feature.REPUBLICAN, 'Democrat', 'Republican', 'Tied')", view: view, valueExpressionTitle: "Election Winner" }; // when the promise resolves, apply the visual variables to the renderer typeRendererCreator.createRenderer(typeParams) .then(function(response){ layer.renderer = renderer; });
基本信息
以下是所在類或對象的基本信息。
AMD:
require(["esri/smartMapping/renderers/type"], (typeRendererCreator) => { /* code goes here */ });
ESM:
import * as typeRendererCreator from "@arcgis/core/smartMapping/renderers/type";
對象:
esri/smartMapping/renderers/type
自從:用於 JavaScript 4.4 的 ArcGIS API
用法說明
type.createRenderer
函數(或屬性)的定義如下:
相關用法
- JavaScript ArcGIS type.createPCClassRenderer用法及代碼示例
- JavaScript ArcGIS type.cloneScheme用法及代碼示例
- JavaScript ArcGIS type.getSchemeByName用法及代碼示例
- JavaScript ArcGIS type.getSchemesByTag用法及代碼示例
- JavaScript ArcGIS type.getSchemes用法及代碼示例
- JavaScript ArcGIS templates.getTemplates用法及代碼示例
- JavaScript ArcGIS timeUtils.getTimeExtentFromLayers用法及代碼示例
- JavaScript ArcGIS SceneView double-click事件用法及代碼示例
- JavaScript ArcGIS geometryEngineAsync.overlaps用法及代碼示例
- JavaScript ArcGIS Expand.when用法及代碼示例
- JavaScript ArcGIS Sublayer.JoinTableDataSource用法及代碼示例
- JavaScript ArcGIS FillSymbol3DLayer.outline用法及代碼示例
- JavaScript ArcGIS Ground.loadAll用法及代碼示例
- JavaScript Object valueOf()用法及代碼示例
- JavaScript ArcGIS LabelClass.repeatLabelDistance用法及代碼示例
- JavaScript ArcGIS KMLLayerView.when用法及代碼示例
- JavaScript ArcGIS Daylight.visibleElements用法及代碼示例
- JavaScript Uint8Array.of()用法及代碼示例
- JavaScript ArcGIS CIMSymbol.CIMTextSymbol用法及代碼示例
- JavaScript new Legend用法及代碼示例
- JavaScript Slider.effectiveMin用法及代碼示例
- JavaScript Sketch.classes用法及代碼示例
- JavaScript Sketch.visible用法及代碼示例
- JavaScript ArcGIS AreaMeasurement3D.analysis用法及代碼示例
- JavaScript ArcGIS PolygonDrawAction draw-complete事件用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 type.createRenderer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。