Google MapsでGPXルート作成

使い方

  • 出発地点と目的地点を入れて「Calculate Route」をクリック。
  • 途中経路を変えたい場合は、通常のGoogleマップのようにドラッグして変更します。「Reduce into *** points」をクリックすると、trkpt要素の数を削減します(Douglas-Peuckerアルゴリズムを使用)。赤線が簡略化されたルートです。
  • 「Add Elevation」をクリックすると、標高(ele要素)を追加します(100点で1秒かかります)。
  • 「Download」をクリックすると、download.gpxというファイル名でGPXファイルがダウンロードされます。

作った経緯

今までは自転車ツーリングをするとき、

  1. Googleマップでルートを作成
  2. GMapToGPXでGPXファイルにする
  3. カシミール3Dで基盤地図情報(標高)で標高データを追加
  4. 累積標高などを確認
  5. Androidの地図ロイドなどに取り込んでツーリング中に確認

というやり方でルートを検討・確認していた。

だが”新しいGoogleマップ”になってから、GMapToGPXが使えなくなってしまったので、 Google Maps API v3を使ってGPXのトラックを生成する、簡単なプログラムを書いてみた。

スマートフォンのブラウザ(標準ブラウザ、Chrome、Firefox)でも動作するので、ツーリングなどの出先でもルートを作成可能。

注意事項

  • Chrome(Ubuntu, Windows 7, Windows 10)、Firefox(Ubuntu, Windows 7)、IE 11、Edgeで動作確認しています。
  • Google Maps APIの制限により、途中に設定できる地点は8箇所までです。
  • Internet Explorer 8ではダウンロードができません。テキストボックスに生成されたGPXテキストをコピーし、メモ帳などに貼り付けutf8で保存してください。
  • Internet Explorer 9, 10は未確認です。
  • iOSのSafariではGPXファイルのダウンロードができません。

主な更新・修正点

  • 地図ロイドやルートラボに合わせ、簡略化後の点数を800点と8000点にした。(May 26 2014)
  • Douglas-Peuckerのアルゴリズムで優先度付きキューの実装を変更し、高速化。(May 26 2014)
  • 間引き時にメルカトル図法で投影した座標に対してDouglas-Peuckerを適用するように変更。(Jun 6 2014)
  • モバイル版、フルスクリーン版をGitHubにホスティング先を変更。(Mar 13 2015)
  • IEとEdgeでの動作状況を追記。(Oct. 18 2015)
  • モバイル版で距離がすぐに把握できるよう、ルート検索直後に高度グラフの横軸を描画するように変更。(Dec. 31 2015)
  • PC版でデフォルトのポイント数を4000点に変更。(Jan. 6 2016)
  • 標高取得を高速化し、また標高取得時にエラーが発生すると操作できなくなるバグに対処。(Jan. 6 2016)
  • 検索時に出発地と到着地の住所を取得していたが、再計算時にずれることがあるため緯度と経度に変更。(Jan. 6 2016)
  • その他Google側のAPIの変更に対応。(Jan. 6 2016)
  • Optimize waypointsにチェックを入れた場合に経由点が保存されないバグを修正。(May 21 2016)
  • 経由地のドラッグ&ドロップによる順序変更に対応。(May 21 2016)
  • Geolocation APIを使用して出発地と到着地に現在位置を指定する機能を追加。(May 21 2016)
  • ChromeでGeolocation APIを使用するため、HTTPS化(iframe内は非対応)。(May 21 2016)
  • ページがごちゃごちゃしてきたので画面上部に地図を移動。(Aug. 19 2016)
  • EdgeとIE 11でのダウンロードに対応。(Aug. 26 2016)
  • 表示を高速化、UIのサイズを保存する機能を追加。(Aug. 26 2016)