ArcGis之popup列表字段自定义
featureLayer图层中可以使用popupTemplate属性添加弹窗。
API:https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html#popupTemplate
1.number格式化
{ fieldName: '面积', label: '面积/m²', format: { digitSeparator: true, // 开启每三位添加, places: 2 // 保留小数点2位 } }
2.添加单位
expressionInfos属性可以对字段进行格式化,fieldName属性引用expressionInfos定义的格式。
案例:https://developers.arcgis.com/javascript/latest/sample-code/popuptemplate-arcade/index.html
popupTemplate: { title: '{name}', expressionInfos: [ { name: 'redLineArea', title: '面积', expression: 'Round($feature.type, 2) + "m²"' } ], content: [ { type: 'fields', fieldInfos: [ { fieldName: 'expression/redLineArea' } ] } ] }
3.字典转换
expression中使用了字符模板的写法。
案例:https://developers.arcgis.com/javascript/latest/guide/arcade/
popupTemplate: { title: '{name}', expressionInfos: [ { name: 'redLineType', title: '地块类型', expression: `if ($feature.type == "01") { return '功能区' } else if($feature.type == "02") { return '环境区' }` } ], content: [ { type: 'fields', fieldInfos: [ { fieldName: 'expression/redLineType' } ] } ] }
钻研不易,转载请注明出处。。。。。。