arcgis api对FeatureLayer自定义渲染

地图服务一般仅提供地图展示的基础信息,如果需要根据外部数据来渲染图层,怎么办?例如:通过不同的颜色来表示河道或道路的拥堵情况。本文将通过实现对河段拥堵情况展示一例来讲述FeatureLayer的自定义渲染。

实现思路

  • FeatureLayer添加自定义属性(Field)
  • 通过FeatureLayer自定义属性来渲染图层

加载河道FeatureLayer:








要素图层



    
arcgis api对FeatureLayer自定义渲染_第1张图片
河道原始图.png

FeatureLayer添加自定义属性(Field)

  • 打印图层属性
//图层更新结束事件打印图层属性
sk_layer.on("update-end", function(){
                //输出graphic(线要素)的所有属性
                 for(var i = 0;i

arcgis api对FeatureLayer自定义渲染_第2张图片
河道基础属性.png

FeatureLayer添加自定义属性主要原理

featureLayer.graphics[i].attributes["属性名"]=属性值;

注意:该方法可以直接修改(或添加)FeatureLayer的属性,但这种修改只存在于client端,修改的数据不影响server端。

添加自定义属性,关键代码:

//yd_array用于存储OBJECTID与拥堵级别
         var yd_array = new Array();
         yd_array.push([1,1]);
         yd_array.push([2,2]);
         yd_array.push([3,3]);
         yd_array.push([4,4]);
         yd_array.push([5,5]);
         
         sk_layer.on("update-end", function(){
                //输出graphic(线要素)的所有属性
                 for(var i = 0;i
  • 打印添加自定义属性后的图层属性


    arcgis api对FeatureLayer自定义渲染_第3张图片
    自定义属性打印.gif

自定义渲染FeatureLayer

关键代码:

sk_layer.on("update-end", function(){
                //输出graphic(线要素)的所有属性
                 for(var i = 0;i

最终效果:


arcgis api对FeatureLayer自定义渲染_第4张图片
自定义渲染效果.png

你可能感兴趣的:(arcgis api对FeatureLayer自定义渲染)