Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用esri手册从动态层获取正确信息_Javascript_Jquery_Leaflet_Esri_Arcgis Js Api - Fatal编程技术网

Javascript 如何使用esri手册从动态层获取正确信息

Javascript 如何使用esri手册从动态层获取正确信息,javascript,jquery,leaflet,esri,arcgis-js-api,Javascript,Jquery,Leaflet,Esri,Arcgis Js Api,好的,问题是,当我点击地图,而上面有一个动态层时,错误的信息或没有任何信息通过 下面是一个更容易理解的示例: 将添加的动态层为: vestigingLayer1 = L.esri.dynamicMapLayer("http://ags101.prvgld.nl/arcgis/rest/services/IBIS_bedrijventerrein_app/IBIS_bedrijventerrein_app/MapServer", { layers:

好的,问题是,当我点击地图,而上面有一个动态层时,错误的信息或没有任何信息通过

下面是一个更容易理解的示例:

将添加的动态层为:

    vestigingLayer1 = L.esri.dynamicMapLayer("http://ags101.prvgld.nl/arcgis/rest/services/IBIS_bedrijventerrein_app/IBIS_bedrijventerrein_app/MapServer",
        {
            layers: [0],
            position: 'front',
        })
map.addLayer(vestigingLayer1);
对层上的鼠标单击作出反应的代码部分是:

map.on("click", function(e) {

    if(typeof vestigingLayer1 === 'undefined'){
    }
    else{
        vestigingLayer1.identify(e.latlng, function(data) {
            if(data.results.length > 0) {
                // Popup toevoegen en informatie toevoegen
                 popupText =  "<div style='overflow:scroll; max-width:250px; max-height:260px;'>";
                 for (prop in data.results[0].attributes) {
                    var val = data.results[0].attributes[prop];
                    if (val != 'undefined' && val != "0" && prop !="OBJECTID" && prop != "Name") {
                        popupText += "<b>" + prop.replace(" (Esri)",'') + "</b>: " + val + "<br>";
                    }
                }
            popupText += "</div>";
            //Popup toevoegen op de plaats waar geklikt is.
            var popup = L.popup()
            .setLatLng(e.latlng)
            .setContent(popupText)
            .openOn(map);
            }
        });
    }
map.on(“单击”,函数(e){
如果(VestingingLayer1的类型==‘未定义’){
}
否则{
探索层1.识别(如板条、功能(数据){
如果(data.results.length>0){
//弹出toevoegen en信息toevoegen
popupText=“”;
对于(数据中的属性。结果[0]。属性){
var val=data.results[0]。属性[prop];
如果(val!=“未定义”&&val!=“0”&&prop!=“OBJECTID”&&prop!=“Name”){
popupText+=“+prop.replace”((Esri)”,“)+”:“+val+”
”; } } popupText+=“”; //弹出式toevoegen op de plaats waar geklikt是。 var popup=L.popup() .setLatLng(即latlng) .setContent(popupText) .openOn(地图); } }); }
因此,如果您通过firebug跟踪代码部分,您可以看到,在数据中,结果总是给出同一层(1)的信息,或者没有结果

还有一个指向工作网站的链接,使其更加清晰。

如果有人知道这个问题的答案,我真的很感激。

通过指定这个
层:[0],
在定义DynamicPlayer时,您只需要查看服务中的一个层


这就是为什么“结果总是给出同一层的信息”

我试图用IF语句挑出信息应该来自的层,但不知何故它说它没有信息。这很奇怪,因为在数据库中我可以看到更多的信息。这可能是因为层上的可单击部分是一个小点/图标。Web服务中可能有什么地方吗标记为“不提供信息”的ice?可能吗?