全是干活,你值得拥有

要素图层类简介:
Class:FeatureLayer

//调用方式:
require(["esri/layers/FeatureLayer"],function(FeaturLayer){});

/*描述:
要素图层继承几何图层,可以用来显示地图服务中的单一图层的服务或要素服务。
要素图层可以是一个图层后者一个属性表。如果可编辑方法是true的话,要素图层中的要素可以被编辑。
注意:arcgis 和桌面中的符号尺寸使用时点,在API for JavaScript中使用的是像素。
*/
类的层级
esri/layers/Layer
esri/layers/GraphicsLayer
esri/layers/FeatureLayer
----------------------------------------------
子类:
CSVLayer,DataAdapterFeatureLayer,StreamLayer
-----------------------------------------------
构造函数:
new FeatureLayer(url,options?) // 实例化对象, url为REST服务

new FeatrueLayer(featureCollectionObject,options?)//要素特征集实例化对象
-----------------------------------------------
常量:
Name 描述
MODE_AUTO 用于缓存,减少服务器的负载
MODE_ONDEMAND 此种模式,要素图层可以在服务中检索我们需要的要素。
MODE_SELECTION 在选择模式下,要素是检索服务仅选择的。此功能只在客户端可用时被选中。
MODE_SNAPSHOT 此模式下,要素图层检索所有相关图层资源中要素将其显示在客户端上。
POPUP_HTML_TEXT 在弹出菜单中显示html或文本信息
POPUP_URL 弹出显示URL的类容
SELECTION_ADD 将功能添加到当前的选择集
SELECTION_NEW 新建一个选择
SELECTION_SUBTRACT 从选择集中移除要素。
----------------------------------------------------------------------------------------------
常用的属性:

Name 概述
advancedQueryCapabilities 一个对象,其中包含服务水平层元数据是否支持使用统计、查询命令字段,层次分明,分页,随着距离的查询,并返回查询扩展。
allowGeometryUpdates 返回true,如果几何特征的层可以被编辑,否则假。
attributionDataUrl 当URL可用时图层属性将被保存
capabilities 支持这一图层的信息功能
className 图层节点的类属性
copyright 版权信息层
dataAttributes String/String[]类型。 属性列表字段作为自定义数据属性添加到图形节点。
defaultVisibility 显示默认图层的可见性
displayField 显示图层字段的属性名
editFieldsInfo 显示编辑字段的字段名
fields 图层中的字段数组
fullExtent 图层全部范围
gdbVersion 地理数据库的版本
geometryType 图层要素的集合类型
graphics 层中的要素数组
layerId id要素图层
loaded 当图层加载,其值为true时可以访问图层属性
---------------------------------------------------------------------------------
常用的方法:

Name 概述
addAttachment(objestId,formNode,callback?,errback?) 添加一个附件ObjectId所指定的功能。
applyEdits(adds?,updates?,Deferred deletes?,callback?,errback?) 编辑应用到功能层
attr(name,value) 添加一个新的属性或更改现有的属性的值在层的节点上。
clear() 清除多有的图形
clearSelection() 清除当前的选择
disableMouseEvents() 禁用图形层上的所有鼠标事件。
enableMouseEvents() 图层上的鼠标事件可用
getAttributionData() 返回自定义图层的数据
getDefintionExpression() 返回当前定义的表达式
getDomain(fieldName,option?) 返回与给定字段相关联的域值
getEditCapabilities(options?) 返回一个对象,描述的编辑功能层。
getEditInfo(feature,options?) 返回一个对象描述最近的编辑操作上执行给定的特性,如果可用。
getField(fieldName) 返回给定字段的名称
getMap() 返回的引用添加到图层的控制层
getOrderByFields() 返回的列表字段顺序功能使用
getSelectionSynbol() 获取当前选择的要素
getType(feature) 返回描述描述要素 类型的 FeatureType

queryCount(query,callback?,errback?) 得到一个计数的数量满足输入查询的功能。
queryFeatures(query,callback?,errback?) 在要素图层中查询要素
queryIds(query,callback?,errback?) 查询对象ID
queryRelatedFeatures(relQuery,callback?,errback?) 查询功能或记录,从另一个图层或表,相关功能在这一层。

redraw() 重绘图层中多有图形
refresh() 刷新特征图层中的要素
remove(graphic) 移除图像
resume() 重绘图层

selectFeatures(query,selectionMethod?,callback?,errback?) 在要素图层中选择要素
setEditable(editable) FeatureLayer Set the editability of feature layers created from a feature collection.
setGDBVersion(versionName) FeatureLayer Set the layer's data source to the specified geodatabase version.
setInfoTemplate(infoTemplate) None Specify or change the info template for a layer.
setLabelingInfo(labelingInfo) None Sets labeling info on the layer.
setMaxAllowableOffset(offset) None Sets the maximum allowable offset used when generalizing geometries.
setMaxScale(scale) None Set the maximum scale for the layer.
setMinScale(scale) None Set the minimum scale for the layer.
setOpacity(opacity) None Initial opacity or transparency of layer.

---------------------------------------------------------------------------------

构造方法:
------------------------------------------------------------
new FeatureLayer(url,options?)

<string>url :使用地图下的某一图层,必须标明
<Object>options :可选的参数,参照可选参数表

options properties
.....

Sample:

require([
"esri/InfoTemplate","esri/layers/FeatureLayer",...
],function(InfoTemplate,FeatureLayer,....){
var infoTemplate=new InfoTemplate("${FIELD_NAME}",content);
var featureLayer=new FeatureLayer("http://..../0",{
mode:FeatureLayer.MODE_ONDEMAND,
infoTemplate:infoTemplate,
outFields:["*"]
});
...
});
----------------------------------------------------------------------
new FeatureLayer(featureCollectionObject,options?)

创建一个新的实例层使用FeatureCollection对象的特性。功能层,当初始化功能集合对象有以下行为:
这种方法可以用来访问的可序列化的表示特性,可以保存在服务器上。

Sample
require([
"esri/layers/FeatureLayr",...
],function(FeatureLayer,..){
var layerDefinition={
"geometryType":"esriGeometryPolygon",
"fields":[{
"name":"BUFF_DIST",
"type":"esriFieldTypeInteger",
"alias":"Buffer Distance"
}]
}
var featureCollection={
layerDefinition:layerDefinition,
featuerSet:null
};
var featureLayer=new FeatureLayer(featureCollection,{
showLabels:ture
});
....
});
-------------------------------------------------------------------
Property Details

/*一个对象,其中包含服务水平层元数据是否支持使用统计、查询命令字段,
层次分明,分页,随着距离的查询,并返回查询扩展。这个对象包含现有的
属性supportsStatistics和supportsAdvancedQueries新的supportsOrderBy属性返回的。
为了向后兼容supportsStatistics和FeatureLayer supportsAdvancedQueries仍将属性。*/
Sample

var wildfireResponsePointsFeatureLayer = new FeatureLayer(url, featureLayerOptions);
map.addLayer(wildfireResponsePointsFeatureLayer);

wildfireResponsePointsFeatureLayer.on("load", function featureLayerLoaded(event){
console.log("advancedQueryCapabilities)", wildfireResponsePointsFeatureLayer.advancedQueryCapabilities);
/* Object {supportsStatistics: true, supportsOrderBy: true, supportsDistinct: true} */
});

----------------------------------------------------------------------------
id

//ID分配层。如果不指定,esri。地图分配值。
//默认情况下,层的ID是“层”后跟一个数字。身份证只能在用户定义层的构造函数。

1、在图层构造函数设置层id。添加指定id的动态图层

require([
"esri/layers/ArcGISDynamicMapServiceLayer",...
],function(ArcGISDynamicMapServiceLayer,..){
var population=new ArcGISDynamicMapServiceLayer("http://....",{id:"population"});
...
});
2、设置层的ID后层初始化
population.id="population";
3、检索图层id
function getMapLayers(){
for(var j=0;jl=map.layers.length;j<jl;j++){
var currentLayer=map.getLayer(map.layerIds[j]);
alert("id:"+ currentLayer.id);
}
}

---------------------------------------------------------------------------
labelingInfo
标签信息,
用来显示返回的信息
Sample

labelingInfo:[{
"labelExpression":"",
"labelExpressionInfo":{
{"value":"City Of {CITY_NAME} has population{POPULATION}"}
},
"useCodedValues": , //参数字段属性域值时使用
"labelPlacement":"above-right",
"symbol":{....}, //用于标签
"minScale":0,
"maxScale":5000,
//fieldInfos结构描述属性字段格式
"fieldinfos":[
{fieldName:"created_date", format:{dateFormat:"shortData"}},//时间或日期的格式化
{fieldName:"last_edited_date",format:{dateFormat:"longDate"}},
{fieldName:"eventtype",format:{places:6,digitSeparatior:ture}}//数字格式化
],
"where":"POP_RAMK > AND POP_RAMK < 4"// where 条件句用于标签上
}]

----------------------------------------------------

ArcGIS server 开发实践之【FeatureLayer类】的更多相关文章

  1. ArcGIS Server 开发实践之【Search类】

    开发中整理的.不足之处还请谅解! ----------------------------------------------- Class:Search 调用方式:require(["es ...

  2. ArcGIS Server开发实践之【Search Widget工具查询本地地图服务】

    加载本地地图服务,并实现要素的查询.(不足之处还请指点)具体代码如下: <!DOCTYPE html> <html dir="ltr"> <head& ...

  3. 【ArcGIS Server 开发系列】Flyingis六大系列讲座精品PDF奉献

    转自:http://www.cnblogs.com/gispeng/archive/2008/07/24/1250116.html [ArcGIS Server 开发系列]Flyingis六大系列讲座 ...

  4. ArcGIS Server开发教程系列(3)切片

    切片工作,我们可以一级一级的切,也可以,所有的一块切,Recreate All Tiles这项是说,在没有进行任何的切片工作时,可以选用这项:Recreate Empty Tiles这项是说,如果之前 ...

  5. ArcGIS Server开发教程系列(7)使用ArcGIS API for Javascript-Hello World

    ArcGIS API for Javascript  API下载地址:http://support.esrichina-bj.cn/2011/0223/960.html 选择最新的下载就好了,目前是3 ...

  6. ArcGIS Server开发教程系列(1) Arcgis server 10.1 的安装

    本系列所使用的软件版本如下: Windows 7 X64 / Windows server 2008 X64 Arcgis for Desktop 10.1 Arcgis 10.1 for serve ...

  7. ArcGIS Server开发教程系列(2)配置ARCMAP和ARCCatalog发布服务

    1.       Arc catalog的配置 打开catalog,如图新增刚刚创建的server 1. Use GIS services: 用户身份连接 使用此种连接,可以浏览.使用站点内发布的所有 ...

  8. ArcGIS Server开发教程系列(8)ArcGIS API for Javascript-控件(小部件)

    1.     鹰眼 OverviewMap小部件用于在其关联的主地图内较清楚的当前鸟瞰图的范围.当主地图范围变化时,鹰眼图会自动在其空间内更新范围以保持和地图的当前范围保持一致,当鹰眼图空间的地图范围 ...

  9. ArcGIS Server 开发之鹰眼地图的实现

    鹰眼简单点说就是地图的联动,鹰眼的全称是OverviewMap,在ERSI提供的API包中,在dijit中进行类的调用.查了很多的资料,总结一下: 具体的代码: <!DOCTYPE html&g ...

随机推荐

  1. SQL Server 2012 T-SQL 新特性

    序列 Sequence SQL Server 现在将序列当成一个对象来实现,创建一个序列的例子语法如下: CREATE SEQUENCE DemoSequence START WITH 1 INCRE ...

  2. Android线程之主线程向子线程发送消息

    和大家一起探讨Android线程已经有些日子了,谈的最多的就是如何把子线程中的数据发送给主线程进行处理,进行UI界面的更新,为什么要这样,请查阅之前的随笔.本篇我们就来讨论一下关于主线程向子线程如何发 ...

  3. 记录asp.net在IE10下事件丢失排错经过

    最近项目中运用了地区三级联动,用的是最普通的DropDownList回发来实现的,如下图 一直用着都挺好的,可最近客户最近新换了台服务器,我把网站迁移过去就有了问题,三级联动失效了. 首先申明一点,这 ...

  4. webstorm使用技巧

    WebStorm快捷键收集:模式visual studio 代码提示:ctrl + alt + 空格 代码补全:alt + / 代码换行:ctrl + shift + 上下箭头 重新运行:ctrl + ...

  5. tomcat对请求路径的匹配过程(原创)

    1.匹配服务 如果有两个应用,一个应用只能通过80端口访问,另一个应用只能通过8080端口访问,这种情况下,可以分开两个服务,然后分别创建80端口和8080端口的连接器. 2.匹配主机 一个服务下配置 ...

  6. Filter Effects - 使用 CSS3 滤镜处理图片

    CSS3 Filter(滤镜)属性提供了提供模糊和改变元素颜色的功能.CSS3 Fitler 常用于调整图像的渲染.背景或边框显示效果.这里给大家分享的这个网站,大家可以体验下 CSS3 对图片的处理 ...

  7. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列二十】

    <Web 前端开发精华文章推荐>2013年第八期(总第二十期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 C ...

  8. storm坑之---同步问题

    最近在做一个监控系统,用来监控网站上各个业务功能的调用量以及处理时间,以便及时发现问题,及时处理.做这种实时统计处理系统,自然首先想到了storm,于是现学现用,自然遇到了一些坑,而且不少是网上也难以 ...

  9. JS Replace() 全部替换字符的用法

    好久不写js了,今早遇到替换字符的,就浪费了点时间,由此,要记录下来.replace()方法:楼主有个字符串,需要替换掉其中的一些字母,如: var test='123helo123boy123hi' ...

  10. qml基础学习 基础概念

    一.概括 学习qt已有2年多的时间,从qt4.7开始使用直到现在正在使用的qt5.6,基本都在windows机器上做开发.最近有意向看了下qt的qml部分,觉着还是挺不错的,毕竟可以做嵌入式移动端产品 ...