Class: FeatureLayer

CMAP.FeatureLayer(param)

new FeatureLayer(param)

Parameters:
Name Type Description
param Object 参数
Properties
Name Type Description
dataSource Object 数据,目前只支持geojson
extrudeHeight Number 拔起的高度 适用于GeoPolygon和GeoBuilding 单位米
offsetHeight Number 离地高度 单位米
extrudeFactor Number 高度拉伸倍数 适用于GeoPolygon和GeoBuilding
extrudeField String 高度属性字段 适用于GeoPolygon和GeoBuilding
renderOrder Number 渲染优先级,默认为0
geometryType String 数据类型 目前支持 GeoPoint GeoLine GeoPolygon GeoHeatMap和GeoBuilding
renderer Object 各类型样式 详情见对应的实例的renderer
visibleLevel Array 设置显示级别,[最小级别,最大级别]或者是[最小级别],该图层在这个级别范围内才显示 目前只支持初始化时设置
infoWindow Object 图层内对象弹窗信息 属性可参考LayerInfoWindow类
label Object 图层标注信息 属性可参考LayerLabel类
legend Object 参数(此参数暂时没有实现)
Author:
Example
var pointLayer = app.create({
      type: 'FeatureLayer',
      name: 'pointLayer',
      renderOrder: 1,
      dataSource:{
            "type": "FeatureCollection",
            "features": [{
                "type": "Feature",
                "properties": {
                  "type": "rain",
                  "value": 5
                },
                "geometry": {
                  "type": "Point",
                  "coordinates": [-73.99995803833008, 40.71805432623303]
                }
              }, {
                "type": "Feature",
                "properties": {
                  "type": "water",
                  "value": 7
                },
                "geometry": {
                  "type": "Point",
                  "coordinates": [-73.98167610168457, 40.726087955120704]
                }
              }]
           },
      geometryType:'GeoPoint',
      renderer:{
        type: 'image',
        url:'image/uGeo/pop.png',
        size:20
      }
    });
   map.userLayers.add(pointLayer);

Extends

Members

dataSource :Object

数据源,目前只支持geojson格式的对象 设置dataSource属性会重置featureLayer的renderer
Type:
  • Object
Author:
Example
featureLayer.dataSource =
    {
      "type": "FeatureCollection",
      "features": [{
          "type": "Feature",
          "properties": {
            "type": "rain",
            "value": 5
          },
          "geometry": {
            "type": "Point",
            "coordinates": [-73.99995803833008, 40.71805432623303]
          }
        }, {
          "type": "Feature",
          "properties": {
            "type": "water",
            "value": 7
          },
          "geometry": {
            "type": "Point",
            "coordinates": [-73.98167610168457, 40.726087955120704]
          }
        }]
     };

extrudeFactor :Number

高度拉伸倍数
Type:
  • Number
Author:
Example
featureLayer.extrudeFactor = 2; //设置高度放大倍数

extrudeField :String

高度属性字段
Type:
  • String
Author:
Example
featureLayer.extrudeField = 'height'; //设置高度属性字段,该字段可在每一个对象的userData中找到

extrudeHeight :Number

设置FeatureLayer中各对象的拔起高度
Type:
  • Number
Author:

height :Number

设置FeatureLayer中各对象拔起高度
Type:
  • Number
Deprecated:
  • Yes
Author:

(readonly) infoWindow :CMAP.LayerInfoWindow

图层的弹窗信息
Type:
Author:
Example
//不支持featureLayer.infoWindow = infoWindow这种修改方式
//通过这种方式来修改featureLayer中infoWindow的title属性
featureLayer.infoWindow.title = '标题';

(readonly) label :CMAP.LayerLabel

图层的标注信息
Type:
Author:
Example
//不支持featureLayer.label = label这种修改方式
//通过这种方式来修改featureLayer中label的fontSize属性
featureLayer.label.fontSize = 12;

(readonly) objects :Array

图层中所有的对象
Type:
  • Array
Inherited From:
Author:

offsetField :Number

设置FeatureLayer中各对象的height属性
Type:
  • Number
Author:
Example
featureLayer.offsetField = 50; //设置离地高度字段

offsetHeight :Number

离地高度 单位:米
Type:
  • Number
Inherited From:
Author:
  • huyang<huyang@uinnova.com>
Example
featureLayer.offsetHeight = 200; //设置离地高度200米

offsetHeightField :String

离地高度的字段
Type:
  • String
Inherited From:
Author:
  • huyang<huyang@uinnova.com>
Example
featureLayer.offsetHeightField = 'height'; //根据height字段设置离地高度

(readonly) renderer :Object

图层的渲染样式 目前FeatureLayer的renderer可以支持条件分类,但是如果对renderer进行修改,仅支持整体修改暂不支持分类修改
Type:
  • Object
Author:
Example
//不支持featureLayer.renderer = renderer这种修改方式
//通过这种方式来修改featureLayer中renderer的color属性 这样会影响featureLayer中所有对象的颜色
//如果想单独修改某一个地理对象的样式,可以通过featureLayer.objects[0].renderer.color = [1,0,0]这种方式修改
//对于FeatureLayer来说 如果为FeatureLayer设置样式,会冲掉featureLayer中个体的样式
//调用featureLayer.dataSource = xxx;也会重新设置featureLayer的renderer
featureLayer.renderer.color = 'rgb(255,0,0)';

renderOrder :number

图层渲染的顺序 越高越靠上
Type:
  • number
Overrides:
  • CMAP.Layer#renderOrder
Author:
Example
featureLayer.renderOrder = 5;//设置图层渲染顺序为5

visible :boolean

显示为True,不显示为False
Type:
  • boolean
Overrides:
  • CMAP.Layer#visible
Author:

Methods

add(obj)

添加对象到FeatureLayer,要添加的feature类型必须和FeatureLayer的geometryType一致 添加后dataSource属性不变
Parameters:
Name Type Description
obj Object 要添加到图层中的对象(GeoPoint,GeoLine,GeoBuilding,GeoPolygon等)
Author:

remove(obj)

移除Layer中指定的对象 移除后dataSource属性不变
Parameters:
Name Type Description
obj Object 图层中的对象
Author:

removeAll()

移除layer下的所有对象 移除后dataSource属性不变
Author:

setVisible(value, effectChildren)

设置图层可见 对于图层来说,如果仅仅设置图层本身节点的visible,第二个参数传false,如果需要影响图层内各要素的visible,第二个参数传true 注:如果图层内要素visible为true 而图层本身的visible是false 这个要素是不会被显示的
Parameters:
Name Type Description
value Boolean 是否可见
effectChildren Boolean 是否影响图层内要素
Inherited From:

updateRenderer(renderItem)

设置图层渲染样式 这里是整体修改FeatureLayer的样式,如果单独修改某一项,应该使用featureLayer.renderer.xxx=xxx;的方式
Parameters:
Name Type Description
renderItem Object
Example
featureLayer.updateRenderer({
       'opacity':1,
      'type':'image',
      'lineType':'Plane',
      'imageUrl':'uGeo/path.png',
      'color':[53,77,135,0.27],
      'numPass':1,
      'effect':true,
      'width':5,
      'speed':1,
    });