Google MapsでGPXルート作成

Google Maps API v3を利用してGPXファイルを作成するオンラインツール。

思った以上に使っていただいてAPI料金の請求がすごいことになった(○万円請求が来た)ので、申し訳ないのですが1日1000リクエストに制限しました。地図やルートが表示されないときは制限に引っかかっておりますので、時間を置いて再度アクセスしてください。

使い方

  • 出発地点と目的地点を入れて「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ファイルのダウンロードができません。

主な更新・修正点

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