GeoJSONファイルを追加でDrag&Drop出来るようにする - Why it doesn't work?で記載した通り、複数のGeoJSONデータを結合して一つのMAP上に表示することが出来ました。ただ、このままではまた複数のファイルをDrag&Dropする必要があるため、一つのGeoJSONフォーマットのファイルとして出力(ダウンロード)出来るようにしたいと考えています。
JavaScriptのオブジェクトをJSON文字列に変換するにはJSON.stringify()を使用します。
いつも使用しているデータを抜粋してサンプルとして使用します。
features = [ { "geometry": { "type": "Point", "coordinates": [ 139.665936, 35.584047, 14.0 ] } } console.log(features); console.log(JSON.stringify(features));
実行結果は以下の通りとなります。
Array [Object { geometry: Object { type: "Point", coordinates: Array [139.665936, 35.584047, 14] } }] "[{"geometry":{"type":"Point","coordinates":[139.665936,35.584047,14]}}]"
このままではデータが多くなると見辛くなってしまうため、第三引数でインデント数を指定します。タブでインデントをする必要があれば、数値の代わりに”¥t”を指定することも可能です。
console.log(JSON.stringify(features, null, 2));
これで、以下のように成型されます。
[ { "geometry": { "type": "Point", "coordinates": [ 139.665936, 35.584047, 14 ] } } ]