单张onEachFeature无效;与Ajax调用有关吗?

时间:2015-07-08 17:14:53

标签: ajax leaflet

我对Javascript和Leaflet相当陌生,如果我在这里遗漏了一些明显的东西,那么道歉,但是......

我尝试使用Leaflet在地图上叠加一系列线条和点,我想在用户点击其中一条线或点时打开侧边栏。由于侧边栏的内容会根据用户点击的行或点而有所不同,因此我尝试将onEachFeature用于鼠标事件,因为我可以显示与相应功能相关的信息。

但问题是,似乎永远不会调用onEachFeature。这是我的代码:

    function sortAndVisualizeNetwork(){
        $.ajax({
            url: "d3/networkdata.json", 
            async: false, 
            dataType: "json", 
            success: function(data){ 
                edges = L.geoJson(data, {
                    filter: function(feature){
                        if (includeFeature(feature)){
                            visualizeFeature(feature);
                        }
                    },
                    onEachFeature: function(feature, layer){
                        layer.on("click", function(e){
                            //write stuff to sidebar depending on the feature
                            sidebar.show();   
                        });
                    }
                })
            }
        })
    }

我尝试用简单的警报替换layer.on代码,但没有一个出现,所以我知道onEachFeature没有被调用。但是,过滤器中的功能工作得很好。

我想知道这是否与所有嵌套在同步ajax调用中的事实相关?

0 个答案:

没有答案