arcgis api for js featurelayer 两种查询方式

其实有很多种

下面介绍两种

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)