我经过了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;
    }


结果如下。

javascript - 如何获取arcgis IdentyfyTask addCallback的值?-LMLPHP

最佳答案

IdentifyTask返回一个IdentifyResult对象。因此,您将代码response [0] .value定义为未定义。
您应该使用诸如response [0] .feature.attributes.PNU之类的东西

关于javascript - 如何获取arcgis IdentyfyTask addCallback的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37810006/

10-11 13:34