在arcgis for js 中IdentifyTask可以指定一个点,查询url对应的图层中该点对应的graphic.
var identifyTask = new IdentifyTask(url);//初始化一个 identifyTask,参数是url
//初始化 Identify parameters
var identifyParameters = new IdentifyParameters();
identifyParameters.tolerance = 0; //缓冲区
identifyParameters.returnGeometry = true; //返回Geometry
identifyParameters.layerIds = [0]; //图层
identifyParameters.layerOption = IdentifyParameters.LAYER_OPTION_ALL;
//输入的几何参数为一个点
identifyParameters.geometry = event.mapPoint;
identifyParameters.mapExtent = map.extent;
identifyTask.execute(identifyParameters, function (results) {
//查询完毕执行函数
if (results == null || results.length < 1) {
return;
}
var gr = new Graphic(results[0].feature.geometry);
myMapVariable.selectedSingleGrp.push(gr);
if (myMapVariable.selectedSingleGrp.length == 2) {
myMapEvent.getSymbol(myMapVariable.selectedSingleGrp[0]);
myMapVariable.selectedSingleGrp.shift(); //删除第一个
}
gr.setSymbol(myMapVariable.selectedm);
gr.attributes = null;
myMapLayers.ELGraphicsLayer.add(gr);
var userPoint = event.mapPoint;
myMapEvent.myResultFunction("", "", "", "", "", "", results[0].feature.attributes["XBID"], myMapVariable.ELYear, userPoint);
});