其实有很多种
下面介绍两种
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 }
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 ……………………