FindTask是在某个地图服务中进行属性查询的功能类,FindTask以FindParameters对象为参数,能查询同一个地图服务的一个或多个图层,并且可以在多个字段中进行查询.DindTask
只能用于属性资讯的查询,在FindTask执行结束后,可以从其回传结果中获取查询的对象来自哪个图层和哪个字段。
###代码上
基本页面
创建属性查询对象并给按钮绑定点击事件
//地图服务的URL var MapServer = "http://localhost:6080/arcgis/rest/services/Test/MyService/MapServer"; //创建属性查询对象 var findTask = new FindTask(MapServer); //创建属性查询参数 var findParams = new FindParameters(); on(dom.byId("Btn"),"click",function(){ //是否返回给我们几何信息 findParams.returnGeometry = true; //对哪一个图层进行属性查询 findParams.layerIds = [1]; //查询的字段 findParams.searchFields = ["name"]; //searchText和searchFields结合使用,即查询name=J4 findParams.searchText = "J4"; //执行查询对象 findTask.execute(findParams, ShowFindResult); })
处理属性查询返回给我们的数据
function ShowFindResult(queryResult) { //创建线符号 var lineSymbol=new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASH, new dojo.Color([255, 0, 0]), 3); //创建面符号 var fill=new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, lineSymbol); if (queryResult.length == 0) { dom.byId("divShowResult").innerHTML = ""; return; } var htmls = ""; if (queryResult.length >= 1) { htmls = htmls + "

"; htmls = htmls + "
名称
"; for (var i = 0; i