我正在使用传单显示用户提交的点和多边形,以显示在多边形内提交的点数。
我和我们的系统分析师一起工作,他创建了一个服务,它会给我一个多边形的json对象。这是我到目前为止,我可以访问数据并将其记录到控制台,但地图上没有显示任何内容
var testAreas = [];
$.getJSON("http://server/WildlifeServices/WildlifeMapStats.ashx",
function(data){
console.log(data);
$.each(data.features,function(i,item){
console.log(item.geometry.coordinates[0]);
testAreas.push(L.MultiPolygon(item.geometry.coordinates[0]))
});
});
areaGroup = L.layerGroup(testAreas);
答案 0 :(得分:1)
$.getJSON()
是异步的,这意味着脚本的执行将继续通过对getJSON的调用,并且稍后将在geoJSON加载时调用成功处理程序。你的代码行:
areaGroup = L.layerGroup(testAreas);
在加载JSON之前执行。尝试将该行(以及依赖于该行的任何其他行)放入成功处理程序中:
var testAreas = [];
$.getJSON("http://server/WildlifeServices/WildlifeMapStats.ashx",
function(data){
console.log(data);
$.each(data.features,function(i,item){
console.log(item.geometry.coordinates[0]);
testAreas.push(L.MultiPolygon(item.geometry.coordinates[0]))
});
areaGroup = L.layerGroup(testAreas);
//additional leaflet related code here
});