如何使用esri传单从动态层中获取正确的信息

时间:2014-01-15 11:33:01

标签: 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: [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);
            }
        });
    }

因此,如果您通过firebug遵循代码部分,您可以看到数据中的结果总是提供相同图层的信息(1),或者没有结果。

还指向工作网站的链接,使其更加清晰。 http://geodev.prvgld.nl/geoapp/definitief/kaart.html

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

1 个答案:

答案 0 :(得分:0)

通过指定此  layers: [0], 在定义dynamicMapLayer时,您只需查看服务中的单个图层。

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