new ArcGISLayer(id, name, url, projstr, layerdef)
ArcgisRest图层
Parameters:
Name | Type | Description |
---|---|---|
id |
string | 图层Id,可以根据Id,查询操作图层 |
name |
string | 图层名称 |
url |
string | ArcGIS Rest服务url,如http://localhost/arcgis/services/modelmap/MapServer,按索引显示图层,拼接'/'+索引,用&支持多索引 |
projstr |
string | 坐标系编号,默认EPSG:3857, 同时支持EPSG:4326、EPSG:4490和EPSG:4547等WGS84和CGCS2000的坐标系 |
layerdef |
string | 过滤表达式,通过定义特定的表达式过滤独立图层中的要素 |
Example
var allUrl='http://localhost:6080/arcgis/rest/services/theme/MapServer';//显示该服务的所有图层 var singleUrl='http://localhost:6080/arcgis/rest/services/theme/MapServer/0';//显示该服务的索引为0的图层 var choiceUrl='http://localhost:6080/arcgis/rest/services/theme/MapServer/0&2';//显示该服务的索引为0和2的图层 var layer = new szgeoinfo.layer.ArcGISLayer(123, "图层","http://localhost:6080/arcgis/rest/services/theme/MapServer"); map.addArcGISRest(layer);
Methods
-
query(ind, queryParams, callback) → {feature}
-
查询ArcgisRest图层数据,单条件
Parameters:
Name Type Description ind
int 查询服务的图层索引
queryParams
array | {szgeoinfo.layer.QueryParam} 查询对象数组
callback
function 返回结果回掉函数
Returns:
返回查询结果
Example
var layer = new szgeoinfo.layer.ArcGISLayer(123, "图层","http://localhost:6080/arcgis/rest/services/MapServer", "EPSG:3857"); var query=new szgeoinfo.layer.QueryParam("CODE",szgeoinfo.Operator.EQUAL,"2631"); var querys=[query]; layer.query(0,querys,queryCallBack); function queryCallBack(features){ for(var i=0;i<features.length;i++){ var feature=features[i]; var coords=feature.getGeometry().getCoordinates();//获取feature的坐标 var attribute=feature.getProperties();//获取feature的所有数据 var code=feature.getProperties().CODE;//获取feature中字段为CODE的数据 } }
-
multipleQuery(ind, queryParams, connector, callback) → {feature}
-
查询ArcgisRest图层数据
Parameters:
Name Type Description ind
int 查询服务的图层索引
queryParams
array | {szgeoinfo.layer.QueryParam} 查询对象数组
connector
szgeoinfo.Connector 连接操作符,AND并,OR或。默认AND
callback
function 返回结果回掉函数
Returns:
返回查询结果
Example
var layer = new szgeoinfo.layer.ArcGISLayer(123, "图层","http://localhost:6080/arcgis/rest/services/MapServer", "EPSG:3857"); var query=new szgeoinfo.layer.QueryParam("CODE",szgeoinfo.Operator.EQUAL,"2631"); var query1=new szgeoinfo.layer.QueryParam("GAOCHENG",szgeoinfo.Operator.EQUAL,0); var querys=[query,query1]; layer.multipleQuery(0,querys,szgeoinfo.Connector.AND,queryCallBack); function queryCallBack(features){ for(var i=0;i<features.length;i++){ var feature=features[i]; var coords=feature.getGeometry().getCoordinates();//获取feature的坐标 var attribute=feature.getProperties();//获取feature的所有数据 var code=feature.getProperties().CODE;//获取feature中字段为CODE的数据 } }
-
pickFeature(id,offset,callback) → {array}
-
通过点击或者拉框获取feature信息
Parameters:
Name Type Description id
int 图层组中的图层id
offset
number 偏移量,当触发点击事件时,会根据偏移量和点击的点构造出一个矩形范围入参
callback
function 返回结果回掉函数
Returns:
返回featureList
Example
layer.pickFeature(123,0.00001,function(dates){ });