尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Navigate your GPX courses on Google Street View
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Preview a cycling course in Google Street View before you ride it. Open a GPX
file and the screen splits: Street View on top, the course on a map below,
and an elevation profile at the bottom that doubles as a slider.
Move along the course any way you like:查看完整 README ↗Preview a cycling course in Google Street View before you ride it. Open a GPX file and the screen splits: Street View on top, the course on a map below, and an elevation profile at the bottom that doubles as a slider.
Move along the course any way you like:
, and .) that follow the course, so they never take
a wrong turn at a junction. They follow Street View's arrows where those
point along the course, which keeps the imagery from one capture instead of
flickering between years.space), at ½×, 1× or 2×.It is a static site with no backend: the GPX never leaves the browser, and GitHub Pages hosts it for free.
Everything is driven by one number, s: metres along the course
(src/course.ts). The slider, step buttons and play mode
turn s into a point, find the nearest Street View panorama, and show it
facing along the course. Moves made inside Street View go the other way: the
new position is projected back onto the course to update s.
That projection is the subtle part. A course that uses a road twice
(out-and-back, laps) has two equally good matches for one position, so
Course.locate searches near the current s first and penalises segments
facing against the direction of travel. It only falls back to the whole
course when nothing nearby fits. The tests in
tests/course.test.ts cover these cases.
Google bills Street View per panorama object, not per image. The app
creates one StreetViewPanorama per page load and only ever re-points it with
setPano, so a ride, however long, is a single
Dynamic Street View
load, plus one Dynamic Maps load for the map. Looking panoramas up with
StreetViewService is not billed, which is what makes stepping and the
background coverage scan (grey stretches on the map and profile) free.
Google's monthly free allowance is far above what personal use needs.
Google's terms don't allow Street View imagery and a non-Google map on the same screen, so the map is Google's too.
https://<user>.github.io/*
and, for development, http://localhost:5173/*.A key in a browser app is always visible to visitors. The referrer restriction and quotas, not secrecy, are what protect it.
Visitors can also paste their own key under Settings. It is stored only in their browser and replaces the built-in one.
Requires Bun.
bun install
cp .env.example .env # then put your key in it
bun run dev # http://localhost:5173
bun run check # lint, typecheck, tests
bun run build # static site in dist/
GOOGLE_MAPS_API_KEY.
Without it, the site deploys and asks each visitor for a key.Every push to main runs the checks and publishes
https://<user>.github.io/<repo>/.
MIT. Google Maps and Street View content shown by the app is Google's and remains under the Google Maps Platform Terms.