ArcGIS API for Javascript (六)
程序员文章站
2023-12-26 16:02:03
...
地图查询
1、任务查询 IdentifyTask
IdentifyTask :针对加载在地图上的 属性和空间查询,url不能指定单个图层,必须指定整个服务
引用:
- 查询任务:IdentifyTask
- 查询参数:IdentifyParameters
require(["esri/tasks/IdentifyTask","esri/tasks/support/IdentifyParameters"], function(IdentifyTask,IdentifyParameters) {
var soilURL="查询的服务地址";
// 为指定的地图服务创建 查询任务
identifyTask = new IdentifyTask(soilURL);
//设置查询参数
params = new IdentifyParameters();
//查询时点击的容差范围
params.tolerance = 3;
//指定查询的图层
params.layerIds = [0, 1, 2];
//设置查询的图层 top:最上层 visible:服务可见图层(发布服务时设置的可见图层) all 所有图层(包含不可见图层)
params.layerOption = "top";
params.width = view.width;
params.height = view.height;
//查询任务执行
identifyTask.execute(params)
.then(function(response) {
var results = response.results;
//查询结果
return results.map(function(result) {
var feature = result.feature;
var layerName = result.layerName;
feature.attributes.layerName = layerName;
return feature;
});
})
.then(showPopup);
//查询结果显示
function showPopup(response) {
if (response.length > 0) {
view.popup.open({
features: response,
location: event.mapPoint
});
}
document.getElementById("viewDiv").style.cursor = "auto";
}
});
2、属性查询 FindTask
FindTask:属性查询,不需要加载到地图上进行显示查询
require(["esri/tasks/FindTask","esri/tasks/support/FindParameters"], function(FindTask,FindParameters) {
//开启任务
var find = new FindTask({
url: "查询的地图服务地址"
});
// 设置参数 仅按图层名称和图层字段查询
var params = new FindParameters({
//查询图层
layerIds: [0],
//查询的字段
searchFields: ["areaname"]
});
//执行任务
find
.execute(params)
.then(showResults)
});
3、 空间属性查询 QueryTask
QueryTask :可进行空间和属性的查询(返回:几何图形Geometry和字段) ,不需要加载到地图上即可进行查询,url 可指定单个图层和多个图层
require([
"esri/tasks/QueryTask",
"esri/tasks/support/Query"
], function(QueryTask, Query) {
//设置查询图层
var qTask = new QueryTask({
url: peaksUrl
});
//设置参数
var params = new Query({
//方法几何图形Geometry
returnGeometry: true,
//指定返回字段
outFields: ["*"]
});
params.where = "设置查询条件 sql语句";
//执行任务
qTask
.execute(params)
.then(getResults);
})
声明
1)文章来源项目实践,存在问题或疑问请留言,谢谢!
2)转载请标注来源!
推荐阅读
-
ArcGIS API for Javascript (六)
-
VueCLI使用ArcGIS API for JavaScript(二)
-
VueCLI使用ArcGIS API for JavaScript(七)
-
Web API---课程介绍 + JavaScript分三个部分
-
使用百度地图api实现根据地址查询经纬度_javascript技巧
-
百度地图API之本地搜索与范围搜索_javascript技巧
-
基于JavaScript操作DOM常用的API小结_javascript技巧
-
ABP框架中导航菜单的使用及JavaScript API获取菜单的方法
-
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
-
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述