2013-03-27 63 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