我经过了IdentyfyTask的测试。
但是我无法在值addCallback之前得到响应。
我想要pnu值。
但是pnu vaule始终是不确定的...
我的代码如下。
function poiClick(){
agmap.addEvent("click", function(evt){
getPoi= krcgis.Function.PoiClick(agmap ,evt);
console.log("X === ",getPoi.x);
console.log("Y === ",getPoi.y);
console.log("PNU === ",getPoi.pnu);
});
}
PoiClick : function(map, evt) {
poiInfo = {};
poiInfo.x =evt.mapPoint.x;
poiInfo.y =evt.mapPoint.y;
var targetLayerId = 'LP_PA_CBND';
var url = map.Layers.getLayerInfo(targetLayerId).SVC_URL;
var map = map.getMap();
//파라미터 설정.
var idParams = new krcgis.core.tasks.IdentifyParameters();
idParams.geometry = evt.mapPoint;
idParams.mapExtent = map.extent;
idParams.returnGeometry = true;
idParams.tolerance = 0;
idParams.layerOption = krcgis.core.tasks.IdentifyParameters.LAYER_OPTION_ALL;
idParams.width = map.width;
idParams.height = map.height;
idTask = new krcgis.core.tasks.IdentyfyTask(url);
idTask
.execute(idParams)
.addCallback(function (response) {
if (response) {
poiInfo.pnu =response[0].value;
}
});
return poiInfo;
}
结果如下。
最佳答案
IdentifyTask返回一个IdentifyResult对象。因此,您将代码response [0] .value定义为未定义。
您应该使用诸如response [0] .feature.attributes.PNU之类的东西
关于javascript - 如何获取arcgis IdentyfyTask addCallback的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37810006/