「現在地を取得し移動の軌跡をトレースするマップ」について補足。
緯度、経度、タイムスタンプを収納した CSV ファイルを出力できるようにしているが、タイムスタンプとは1970年1月1日午前0時0分0秒 (UTC: Coordinated Universal Time) からの経過秒数 (ミリ秒) を指す。
timestamp:
Geolocation API で得られるこの値を javascript で可読化すると次のようになる。
toLocaleString() 変換:
基本的なメソッドはすべてタイムゾーンとオフセットで動作する (日本国内でアクセスすれば UTC + 9 の日本時間で出ているはず)。
さらに API で得られる heading は進行方向を度数で示すので、その値に合わせアイコンを回転させている。次のロジック
heading: 0°
なお API が返す altitude とは WGS84 楕円からの高度でジオイド高を含むので、標高とは異なる。誤解を招きかねないので表示しないようにした。Latitude と Longitude さえ取れたら充分だろう。
また CSV のログは1分間でおよそ50行、2 KB 近くになるので、長時間にわたり継続使用するとそれなりに重くなる。
動かないPCや、ごく短距離の移動の場合は CSV を出力しない。
覚え書き、当方の環境では Blob のケースで
改行の解釈方法についてオプションで endings: 'native' を記載しないとおかしくなる。たかが \n されど \n
分からないことがあれば stackoverflow で調べるとたいてい解決する。
久しぶりに麻雀やりたくなったなぁ