项目记录:关于ArcGIS API for JS查询方法的比较和应用
查询方法比较:FindTask、QueryTask、IdentifyTask
不同点
- FindTask只能进行属性查询,QueryTask,IdentifyTask两个类既可以进行属性查询也可以进行空间查询。
- 对于QueryTask,IdentifyTask两个类,QueryTask只可应用于一个单独的图层,IdentifyTask可应用于地图服务和多个图层。
- QueryTask可以进行简单的统计功能。
使用哪种查询?
- 属性查询:FindTask,空间查询:QueryTask和IdentifyTask
- QueryTask:只能应用于一个图层,有简单的统计功能,IdentifyTask:可应用于地图服务和多个图层
- FindTask.searchText属性不支持SQL语句,FindParameters.LayerDefinitions[layerid]即定义简单SQL用来进行范围查询。
查询方法应用:QueryTask
出现问题
- 查询结果显示不出来:坐标系不匹配 底图是天地图(地理坐标系),加载的服务(投影坐标系)跟天地图不一致,需要采用GeometryService转换坐标,转换操作一次默认上限500个对象。
- 属性弹窗样式设置:将结果用infoWindow显示,用InfoTemplate设置显示内容。
附ESRI官网API链接:https://developers.arcgis.com/javascript