続いてます。
分割されたログに対応しました。
最初のログのGeoJSONデータを表示中に、続きのログデータをDrag&Dropするような動作を考慮していませんでしたので、GeoJSONデータを表示中に別のGeoJSONデータがDrag&Dropされた場合には以下のような動作を行うよう対応しました。
- 表示中のパネル、マーカー、ラインは削除する。ただしマーカーの情報自体は削除しない
// turn off all markers and line deleteMarkers(false);
- 追加のGeoJSONデータを解析し、前回のマーカー情報に対して追記する
- 全データ追記完了後、タイムスタンンプをキーとしてデータをソートする
geoPoints.sort(function(a,b){ return a.timestamp - b.timestamp; });
- ソート完了後、配列の先頭データと最終データのラベルに情報を設定し、表示対象とする
// Set the first geo data as start data geoPoints[0].marker.label = "S"; geoPoints[0].marker.visible = true; geoPoints[0].marker.setMap(map); // Set the last geo data as end data geoPoints[li].marker.label = "E"; geoPoints[li].marker.visible = true; geoPoints[li].marker.setMap(map);
詳細については、ソースを参照して下さい。
geojson_anime_button.html
次のゴールは、Dropした全てのファイルを結合して一つのGeoJSONデータファイルとして出力出来るようすることです。