2013-03-27 52 views
0

我使用单张显示用户提交的点和面显示多边形内提交的点计数。阅读以GeoJSON从服务

我已经与我们的系统分析师工作,他创造了一个服务,这将使我的多边形的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); 

回答

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 
    }); 
+0

谢谢你让我知道。没有解决问题,但肯定帮助我更多地了解JavaScript。 PS我会投票,但我没有足够的代表尚未这样做。 – marchWest 2013-03-27 20:21:16