ArcGIS API For JavaScript——空间查询(FindTask和IdentifyTask)
来源:互联网 发布:知乎哲理段落 编辑:程序博客网 时间:2024/05/21 09:28
相比较于QueryTask,FindTask和IdentifyTask支持多个图层查询。FindTask支持属性查询,IdentifyTask支持图形查询。
1、FindTask
FindTask通过FindParameters类来设置查询参数,执行search.execute(FindParameters,function (result))
先设置查询参数:
returnGeometry:是否返回Geometry;
layerIds:要查询图层的ID;
searchFields:通过哪个字段来查询;
searchText:查询字段匹配值
var params = new FindParameters();params.returnGeometry=true;params.layerIds=[0,1,2];params.searchFields=["name"];params.searchText=$("#searchParam").val();
执行查询
将查询结果通过表格形式展示,再给表格每行添加点击设置地图中心事件
search.execute(params,function (result) { if(result.length==0){ alert("俺没找到哦") }else { $("#result table").html(""); $("#result table").append(" <tr> <th>名字</th> <th>价格</th> <th>容积率</th> <th>绿化率</th> <th>户数</th> <th>区域</th> <th>商圈</th> <th>类型</th> </tr>"); for(var a=0;a<result.length;a++){ var html="<tr>"+ "<td>" +result[a].feature.attributes["Name"] +"</td>"+ "<td>"+result[a].feature.attributes["Ave_price"]+"</td>"+ "<td>"+result[a].feature.attributes["Rate"]+"</td>"+ "<td>"+result[a].feature.attributes["lvhua"]+"</td>"+ "<td>"+result[a].feature.attributes["hushu"]+"</td>"+ "<td>"+result[a].feature.attributes["Area"]+"</td>"+ "<td>"+result[a].feature.attributes["shangquan"]+"</td>"+ "<td>"+result[a].feature.attributes["type"]+"</td>"+ "</tr>" $("#result table").append(html); } $("tr").bind("click",function(){ var index=$("tr").index(this); map.centerAt(result[index].feature.geometry); map.setZoom(18); }) } });
2、IdentifyTask
IdentifyTask通过IdentifyParameters类来设置查询参数,执行execute方法查询。
设置查询参数
returnGeometry:是否返回几何信息
layerIds:要查询的图层
layerOption:查询条件,参考常量表
geometry :查询的几何对象,可通过绘制工具获得
var params = new IdentifyParameters();params.returnGeometry = true;params.layerIds = [0,1,2];params.layerOption = IdentifyParameters.LAYER_OPTION_ALL;params.geometry = geometry;//
这里的geometry通过绘制工具获得,具体参考:ArcGIS API for js绘制工具
执行查询
将查询结果通过表格形式展示,再给表格每行添加点击设置地图中心事件,并且在地图上显示查询到的点:
if (result.length > 0) { $("#result table").html(""); $("#result table").append(" <tr> <th>名字</th> <th>价格</th> <th>容积率</th> <th>绿化率</th> <th>户数</th> <th>区域</th> <th>商圈</th> <th>类型</th> </tr>"); for (var a = 0; a < result.length; a++) { var html="<tr>"+ "<td>" +result[a].feature.attributes["Name"] +"</td>"+ "<td>"+result[a].feature.attributes["Ave_price"]+"</td>"+ "<td>"+result[a].feature.attributes["Rate"]+"</td>"+ "<td>"+result[a].feature.attributes["lvhua"]+"</td>"+ "<td>"+result[a].feature.attributes["hushu"]+"</td>"+ "<td>"+result[a].feature.attributes["Area"]+"</td>"+ "<td>"+result[a].feature.attributes["shangquan"]+"</td>"+ "<td>"+result[a].feature.attributes["type"]+"</td>"+ "</tr>"; $("#result table").append(html); var graphic = result[a].feature; graphic.setSymbol(new PictureMarkerSymbol("css/images/point.png",30,30)); map.graphics.add(graphic); } $("tr").bind("click",function(){ var index=$("tr").index(this); map.centerAt(result[index].feature.geometry); map.setZoom(18); }) } else { alert("没找到") }
欢迎关注我的微信公众号
阅读全文
1 0
- ArcGIS API For JavaScript——空间查询(FindTask和IdentifyTask)
- arcgis api for javascript IdentifyTask使用
- ArcGIS.Server.9.3和ArcGIS API for JavaScript实现查询定位中心的功能和FindTask功能应用(七)
- ArcGIS.Server.9.3和ArcGIS API for JavaScript实现查询定位中心的功能和FindTask功能应用(七)
- arcgis api for silverlight开发系列之五:QueryTask,FindTask,IdentifyTask区别
- ArcGIS API For JavaScript——空间查询(QueryTask)
- ArcGIS API for JavaScript 通过identifyTask实现点击选择要素
- ArcGIS API for javascript 空间查询 没有结果 解决
- ArcGIS API for JavaScript 通过identifyTask实现按区域选取截图
- ArcGIS for Android 之IdentifyTask初步认识和使用
- ArcGIS API for JavaScript的服务查询
- 缓冲区分析—ArcGIS API for JavaScript
- ArcGIS API for javascript 空间查询 没有结果 解决(二)
- ArcGIS API For Javascript之调用动态地图服务+属性、空间查询
- ArcGIS.Server.9.3和ArcGIS API for JavaScript实现语句查询QueryTask(八)
- ArcGIS.Server.9.3和ArcGIS API for JavaScript实现语句查询QueryTask(八)
- ArcGis API for JavaScript学习——离线部署API
- ArcGIS API for JavaScript
- Java集合系列——List
- 2017年上半年阅读书单
- window 上传文件到 Linux
- PAT乙级 1058. 选择题(20)
- 数据库表的复杂操作
- ArcGIS API For JavaScript——空间查询(FindTask和IdentifyTask)
- springMVC后台校验实现
- 插入排序
- [leetcode]84. Largest Rectangle in Histogram(Java)
- Python 爬虫入门 2 Phantomjs+Python
- DirectX11(四)
- pppyhon tushare笔记(四)-股票分类数据
- Log4j学习汇总—–配置详解
- iOS开发中识别图中的二维码