JSON形式のデータからleaflet.jsとleaflet.heatを使用してヒートマップを作成しようとしています。これまでのところ、jQueryのgetJSONを使用してJSONファイルを取得して解析することができましたが、ファイルをループして配列のリーフレットを返す部分に固執しています。リーフレットの上にヒートマップレイヤーを作成する必要があります。 leaflet.heatのマニュアルによると、私は図書館に渡すために必要なすべてがそうのように構築配列ですJSONオブジェクトをループして配列に変換する
:
[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 "!==" lat "' –
確かに、構築しようとしている配列は複数のlat/lngのヒートデータを格納するために2dでなければなりませんか? –
あなたはそれを変換していないので....あなたの地図に同じ正確なものを返すだけです。 – epascarello