其实有很多种
下面介绍两种
1.主要是这种直接过滤图层
function dynamicLayerData(){
var query = new esri.tasks.Query();
// query.outSpatialReference = {wkid:102100};//空间参考
query.outFields = ["*"];//返回指定字段
query.returnGeometry = true;//返回图形
query.orderByFields = ["OBJECTID"];//排序
query.where = "1=1";
fearturelayer.selectFeatures(query, esri.layers.FeatureLayer.MODE_ONDEMAND, function(results) {
console.log(results.length);
});
//fearturelayer.selectFeatures 也可以写成fearturelayer.query 请参考api fearturelayer query
}
2.querytask 大家都很熟悉了 可以参考官网querytaskapi
function queryFeatures(condition){
//创建查询条件
var query = new esri.tasks.Query();
//query.outSpatialReference = {wkid:102100};//空间参考
query.outFields = ["*"];//返回指定字段
query.returnGeometry = true;//返回图形
query.orderByFields = ["OBJECTID"];//排序
if(isEmpty(condition)){
query.where = "1=1";
}else{
query.where = condition;//where条件
}
var querytask = new esri.tasks.QueryTask(dataLayerUrl);
querytask.execute(query, addPointsToMap);
}
/*--------------------------向地图添加点-----------------------------*/
function addPointsToMap(results){
if (!results.hasOwnProperty("features") ||
results.features.length === 0 ) {
return; // no features, something went wrong
}
var features = results.features;
var feature;
var items= [];
for(var i=0;i<features.length;i++){
var symbol11 = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,0,255,0.35]), 1),new dojo.Color([125,125,125,0.35]));
feature = features[i];
feature.setSymbol(symbol11);
map.graphics.add(feature);
items.push(feature.attributes);
}
resultList = items;
paging(10,3);
}
3.当然了还有findtask ……………………
更多推荐
arcgis api for js featurelayer 两种查询方式
发布评论