尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證GPXを読み込むと、ルート沿いのコンビニ・食堂をスタートからの距離順に表示。Googleマップで開ける。
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
GPXファイルを読み込んで、ルート沿いのコンビニ・レストラン・ファストフード・カフェ・日帰り温泉を 地図とリスト(スタートからの距離順)で表示するWebアプリです。 各スポットは「地図↗」からGoogleマップ(iPhoneならアプリ)で開けます。 • 紹介ページ: • ツール本体: • index.html … 紹介ページ(assets/ に配色・アイコン・OGP画像) • app/index.html … ツール本体(単一HTML。ビルド不要) • app/vendor/ … Leaflet 1.9.4(同梱。CDNが使えない・遅い環境でも地図が出るように) • app/samples/ … 動作確認用のGPX • app/bench.html … Overpassクエリの条件別 計測ページ(速さの比較用) • make_icon.py / make_og.py … アイコンとOGP画像の生成(PIL。外部素材は使わない)檢視完整 README ↗
GPXファイルを読み込んで、ルート沿いのコンビニ・レストラン・ファストフード・カフェ・日帰り温泉を 地図とリスト(スタートからの距離順)で表示するWebアプリです。 各スポットは「地図↗」からGoogleマップ(iPhoneならアプリ)で開けます。
index.html … 紹介ページ(assets/ に配色・アイコン・OGP画像)app/index.html … ツール本体(単一HTML。ビルド不要)app/vendor/ … Leaflet 1.9.4(同梱。CDNが使えない・遅い環境でも地図が出るように)app/samples/ … 動作確認用のGPXapp/bench.html … Overpassクエリの条件別 計測ページ(速さの比較用)make_icon.py / make_og.py … アイコンとOGP画像の生成(PIL。外部素材は使わない)app/index.html を開く(ローカルファイルでも、Webサーバに置いても可)URLに ?gpx=samples/xxx.gpx を付けると起動時に読み込みます。
| 地図 | スポットの取得元 | 必要なもの | |
|---|---|---|---|
| Googleモード | Google Maps | Google Places API (New) | APIキー |
| OSMモード(既定) | OpenStreetMap(Leaflet) | Overpass API | なし |
設定(⚙)にAPIキーを入れるとGoogleモードになります。取得元だけOSMにすることも可能です。
費用の目安:Places Nearby Search は 200 km のルートで「ルートからの距離 300 m」なら約250回(100 m なら約750回、1 km なら約75回)。 Nearby Search Pro の無料枠は月5,000回程度で、超えると有料になります。Cloud Console の「割り当て」で Places API (New) の1日あたりのリクエスト上限を設定しておけば、超過による課金を防げます。 検索結果は7日間キャッシュされ、同じ設定なら再検索しません。
OSMモードの検索が遅い・失敗するときは、ほぼクエリの重さが原因です。次の方針で軽くしています。
[amenity~"^(restaurant|cafe)$"] のような正規表現は
タグの索引が使えず、around の範囲を全部読んでから突き合わせるため非常に重くなります。
[amenity=restaurant] のように分けて並べると索引が効きますapp/bench.html で実測できます(同じ範囲を条件違いで投げて比較。
区間長は10〜200kmから選べます)モバイル回線は接続が切れやすく、Safari は保存容量の上限も小さいため、次のようにしています。
○/○ 区間 と進捗表示)。
公開サーバーのレート制限は同時本数だけでなく累積の実行時間も見るため、細かく刻んで
連続リクエストを重ねるほど順番待ちが伸びます。実機計測では 25km×8区間で288秒、
150km×2区間では1区間目18秒・全体60秒でした。長い区間を少ない回数で投げる方が速く、
重すぎた区間だけ後から4分割して取り直します?chunkkm=200(5〜1000km)[timeout:](サーバー側の実行時間上限)は60秒、こちらが待つのは70秒。
必ず「サーバーが先に諦める」側にします。逆にすると、まだ走っているクエリを切ることになり、
サーバーはそのまま実行を続けてスロットを占有するため、直後の再試行が同じIPで429になりますremark で返すため、
これを空の結果として素通りさせず失敗として扱いますhttps://overpass-api.de/api/status を見て空きスロット数を表示します。
「空きがあるのに失敗する」のか「順番待ち」なのかを切り分けられますMIT License。地図タイルは OpenStreetMap(ODbL)、地図ライブラリは Leaflet(BSD-2-Clause)を利用しています。
Eat on GPX is a single-file web app for randonneurs and touring cyclists. Drop a GPX track and it lists convenience stores, restaurants, fast food and cafés along the route, sorted by distance from the start, together with the GPX waypoints (controls / checkpoints). Each spot opens in Google Maps. Works with no API key using OpenStreetMap + Overpass; add a Google Maps API key to switch the map and the data source to Google Maps / Places API (New). Everything runs in the browser; the GPX file is never uploaded.