Portal DB
面向 Niantic Ingress Intel 地图的 IITC 本地 Portal 数据库插件。
Portal DB 会在你浏览 Intel 地图时被动收集 Portal 记录,存入 IndexedDB,检测 Portal 位移,并为其它 IITC 插件提供可靠的坐标与阵营数据来源。
在 GitHub 上查看此插件目录 | 查看全部 IITC 插件
适合哪些用户
Portal DB 特别适合需要在屏幕之外继续引用 Portal 信息的特工与插件开发者。如果你的工作流依赖 Portal 历史、位移检测,或需要稳定的本地数据层来支持规划和分析,这个插件会非常有用。
核心功能
- 持久化本地存储:使用 IndexedDB 保存 Portal GUID、坐标、阵营和最后可见时间,并可跨浏览器会话保留。
- 被动数据采集:在浏览 Ingress Intel 地图时自动积累 Portal 数据,无需手动录入。
- Portal 位移检测:当 Portal 移动超过 3 米 时记录旧位置和新位置,帮助识别战术性地图变化。
- 视觉提醒:当发现新的位移 Portal 时,高亮侧边栏中的 Portal DB 项目。
- 更新统计:记录数据被写入或跳过的原因,便于调试和评估过滤效果。
工作原理
这个插件会拦截 Intel 地图中的原始实体数据,并将其转化为本地 Portal 记录集合。随后,其他插件就可以把这层持久化数据当作 Portal 查询服务,即便目标 Portal 当前不在视野中也能调用。
因此,Portal DB 在 IITC 生态里更像一个后端型基础设施插件,而不只是单独的可视化工具。
API 参考
Portal DB 通过 window.plugin.portalDB 暴露功能。所有访问方法都是异步的,并返回 Promise。
getPortal(guid)
根据 GUID 获取单个 Portal 记录。
// 示例:检查 Portal 是否存在并输出坐标
window.plugin.portalDB.getPortal('your-portal-guid')
.then(portal => {
if (portal) {
console.log(`找到: ${portal.latE6}, ${portal.lngE6}`);
} else {
console.log('本地数据库中未找到该 Portal');
}
});
getPortalsInBounds(bounds)
获取指定地图范围内的全部已存储 Portal。
// 示例:查找当前视野内的所有已存储 Portal
const bounds = map.getBounds(); // Leaflet LatLngBounds
window.plugin.portalDB.getPortalsInBounds(bounds)
.then(results => {
console.log(`在此区域找到 ${results.length} 个 Portal。`);
results.forEach(p => console.log(p.guid, p.team));
});
返回对象结构
方法会返回如下标准格式的 Portal 对象:
{
"guid": "...",
"latE6": 35689500,
"lngE6": 139691700,
"team": "E",
"lastSeen": 1707000000
}
如何使用
- 像平时一样浏览 Intel 地图,让插件在后台自动收集 Portal 数据。
- 当你需要查看位移 Portal 或审阅本地记录时,打开工具箱中的 Portal DB。
- 使用 Export 和 Import 进行本地数据库的备份与迁移。
- 如果你在开发其它 IITC 插件,可以直接调用暴露出的 API 来查询视野外的 Portal。
开发者提示: 如果你的 IITC 插件需要回答“这个 GUID 对应的 Portal 在哪里”,而它当前又没有渲染在屏幕上,那么 Portal DB 就是最合适的本地数据源。
常见问题
- Portal DB 只能处理当前屏幕里的 Portal 吗? 不是。它会在你浏览时逐步积累数据,并保存在本地,因此这些记录在离开当前视野后仍然可以使用。
- 为什么要检测 Portal 位移? Portal 位移会影响链接、Block Link 和规划判断。及时发现这些变化可以让地图情报保持准确。
- 这个插件更适合普通用户还是开发者? 两者都适合。特工可以利用界面检查位移 Portal,开发者则可以把 API 当成持久化 Portal 数据层来调用。
相关插件
更新日志
版本 0.3.0
- 新增 Portal 位移检测,追踪超过 3 米的移动。
- 新增工具箱视觉提醒,发现新的位移 Portal 时高亮显示。
- 新增位移 Portal 面板,可查看历史并快速跳转。
版本 0.2.0
- 新增按小时统计的数据更新桶。
- 新增基于 localStorage 的统计持久化。
- 新增实时统计面板。
版本 0.1.2
- 加入更新阈值机制,减少不必要的写入与 I/O。