我試圖建立使用leaflet.js和leaflet.heat從數據熱圖我在JSON格式。到目前爲止,我已經能夠使用jQuery的getJSON獲取並解析我的JSON文件,但是我被卡在了循環遍歷文件並返回數組leaflet.heat需要在傳單頂部構建heatmap圖層的部分。循環遍歷JSON對象和將它們轉換爲數組
根據leaflet.heat的文檔,我需要傳遞給庫是像這樣構成的陣列:
[latitude, longitude, intensity]
我的JSON是這樣的:
[{"Lat":"39.51","Long":"-76.164","Intensity":"0.0017980221756068300"},
{"Lat":"39.463","Long":"-76.12","Intensity":"0.0332634102487264000"},
...more data...]
這裏是我的代碼:
$.getJSON('data.json',
function(data){
var heat = L.heatLayer(data, {radius: 25}).addTo(map);
});
});
當我運行這個,我得到以下錯誤:
TypeError: null is not an object (evaluating 't.lat')
我假定這是從傳遞JSON 對象所得當庫需要陣列無鑰匙。我已經看了this similar SO question,但是當我記錄輸出到控制檯使用此代碼,
var arr = $.map(data, function(el) { return el });
console.log(arr);
...它仍帶有按鍵的對象輸出。不知道我做錯了什麼。
' 「緯度」 == 「LAT」'。 –
你試圖構建的數組當然必須是2d以包含多個經緯度的熱量數據? –
,因爲你沒有改變它....你只是在你的地圖中返回相同的東西。 – epascarello