Why it doesn't work?

作業のメモ、記録をブログに残しています。

GeoJSONファイルを追加でDrag&Drop出来るようにする

続いてます。
分割されたログに対応しました。
最初のログの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データファイルとして出力出来るようすることです。