ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

God‘s Eye View分享链接深度解析:一个URL如何编码相机、图层与实时跟踪目标

2026/9/15 17:28:36 拓冰建站 浏览量
God‘s Eye View分享链接深度解析:一个URL如何编码相机、图层与实时跟踪目标 Gods Eye View分享链接深度解析一个URL如何编码相机、图层与实时跟踪目标【免费下载链接】gods-eye-viewA spy satellite simulator in your browser, except the data is real. Live open source spatial intelligence on a photorealistic 3D globe.项目地址: https://gitcode.com/GitHub_Trending/go/gods-eye-viewGods Eye View是一个运行在浏览器里的间谍卫星模拟器但它用的是真实开源数据实时航班、船舶、卫星、地震、城市公共摄像头全部叠加在照片级 3D 地球仪上。它最容易被忽视、却设计得最精巧的功能是分享链接Share Link——点一下你当前的相机机位、传感器样式、数据图层甚至正在跟踪的那架飞机都会被序列化进一条 URL别人打开这条链接相机会飞回同一位置、切回同一画风并继续跟随你的目标。这篇文章带你拆开这条 URL看看一个链接是如何装下整个世界视图的。一、一条分享链接里到底装了什么所有状态都编码在 URL 的#之后即 URL hash采用确定性的v2 格式。字段分四大类一眼看懂URL 字段编码内容示例v链接版本当前为 2v2lat/lon/alt/heading/pitch/roll相机机位经纬度、高度、航向、俯仰、横滚lat37.77lon-122.42alt800stylesp传感器样式与预设参数stylenvgspg.60_b.20bloom/bi/sharpen/si辉光、锐化开关与强度bloom1bi84hud/hv战术 HUD 变体与显隐hudtacticalhv1dm/dd/da/kf/ko检测框模式、密度、分配策略、淡出dmBALANCEDdd50map底图栈Esri / Google 3D / OSMmapphotoreall开启的数据图层每个图层 1 个字母lfa航班船舶lo图层选项含实时跟踪目标 IDlof.t.4b56c8ui面板折叠/置顶状态uic.c.1_l.p.1at复制时刻的秒级时间戳判定链接新鲜度at1786000000完整设计可参考 src/sharelink.js 头部的格式说明以及 docs/CURRENT-STATE.md 中Share-link v2 layer state一节。二、相机视角6 个数字锁死机位视角编码朴素而严格经纬度保留 4 位小数约 10 米精度高度取整到米三个姿态角取整到度——见_buildHashParams()。接收方打开链接后启动画面显示Restoring shared view...相机用3 秒flyTo飞行三次缓入缓出逼近目标落定后再用setView施加精确姿态避免差一口气的漂移。恢复过程是可被抢占的如果你中途手动拖动地球或发起新导航共享相机恢复会被自动让位——你的操作永远优先于链接。三、16 个数据图层各用 1 个字母项目内置 16 个生产图层每个在l字段里占用一个字母令牌令牌图层令牌图层f实时航班c公共摄像头CCTVm军用航班r全球电台s卫星t交通流a实时船舶AISe地震x火箭发射w活跃火点d/q/u数据中心 / 大坝 / 海底光缆b/i/g/p共享单车 / 军事设施 / 军事态势 / ALPR图层的附加选项走lo字段同样高度压缩比如f.e.1表示开启 3D 飞机模型f.m.p表示模型按近距显示模式CCTV 的覆盖模式关闭/开启/视野体也在这里。一个刻意的设计细节电台图层恢复时从不自动选中或播放任何台——链接只还原开关状态不替用户做选择。四、传感器样式7 种看世界的方式style字段映射 7 种视觉预设normal、crt复古、nvg夜视、flir热成像、anime、noir、snow——也就是键盘1–7能切换的那排滤镜。每种预设的滑杆参数被压进sp字段且只允许白名单内的参数先按 0–100 缩放取整再拼成参数.值用下划线连接如夜视的spg.60_b.20_s.35_p.3分别代表增益、辉光、扫描线、像素化等级encodeStyleParamState。面板的折叠/置顶状态走ui字段控制栏、定位栏等 9 个面板各有令牌例如c.c.1 控制面板已折叠。五、实时跟踪目标链接是接力不是书签这是整个设计里最有意思的部分。lof.t.4b56c8中的4b56c8是一架飞机的ICAO 24 位应答机地址6 位十六进制。注意编码纪律跟踪 ID 有严格的语法检查TRACKING_ID_GRAMMAR它不是自由文本——半截地址对应的是另一架飞机所以不符合语法的 ID 会被直接拒绝绝不截断。为什么叫接力因为目标本身在动且数据源每 15–30 秒轮询一次。接收方的第一帧数据里未必有这架飞机于是项目设计了完整的等待与判定机制SHARE_TRACKING_RESTORE_POLICIES武装延迟恢复闩锁目标暂缺时不宣布失败而是让图层在后续每轮轮询中自动重试每 1 秒检查一次。按数据源设等待窗口民航航班90 秒、军用航班45 秒、卫星300 秒卫星位置更新慢窗口放宽到 5 分钟。用at时间戳判定过期copyLink()只在剪贴板副本上追加一个秒级时间戳src/sharelink.js#L446-L458地址栏保持干净。若窗口耗尽仍没找到目标且链接年龄超过等待窗口界面会给出已过期类提示例如Shared military flight could not be restored若链接够新则提示不可用——两种措辞对应两种归因。失败即清理判定失败后自动清掉待跟踪选择避免它污染你的本地偏好你任何一次手动操作都会立即取消整个恢复过程fail-closed。六、容错与安全无效链接如何优雅失败分享链接本质是别人能控制你浏览器的入口代码因此处处设防坐标必须是有限数值——Infinity这种能骗过parseFloat的值会在标记恢复前被拦截超尺寸载荷直接拒绝图层字段上限 64 字符、选项字段 512 字符超限整体拒绝而非截断未知图层令牌拒绝整个l字段避免拼写错误变成权威的空集未知选项令牌则静默忽略同时出现多个跟踪 ID 视为歧义宁可全部清空也不让异步数据源猜该跟谁旧链接不重释默认值变化时解析回退值刻意冻结在作者当年所见一条老链接打开出来的画面必须和作者当时看到的一致——这才是分享链接的本分。七、三步获得你自己的分享链接 装好应用用 Pinokio 一键安装或终端获取仓库git clone https://gitcode.com/GitHub_Trending/go/gods-eye-view然后npm ci npm run dev打开http://localhost:4173。无需任何 API key 即可启动Esri 卫星底图 免 key 地形。调出你满意的画面飞到一个位置、切到喜欢的传感器样式、打开想要的图层、点住一架飞机开始跟踪。点分享按钮触发 copyLink()弹出Link copied!把 URL 发给朋友即可。地址栏本身会在你停手 0.5 秒后自动同步最新状态随时复制都不会过期。核心文件索引分享链接总控src/sharelink.js图层令牌与跟踪 ID 编解码src/data/layerState.js分享按钮接线src/ui/applicationShell.jsv2 分享链接完整设计docs/CURRENT-STATE.md功能总览README.md一条 URL装得下一架飞机的接力、一座城市的图层、一个传感器的世界观——这就是 Gods Eye View 分享链接的全部魔法。【免费下载链接】gods-eye-viewA spy satellite simulator in your browser, except the data is real. Live open source spatial intelligence on a photorealistic 3D globe.项目地址: https://gitcode.com/GitHub_Trending/go/gods-eye-view创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考