船讯网 JSAPI 地图任务调度
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-988us9gb/elanemap-skill。
技能介绍
要解决的具体问题
船讯网 JSAPI 的文档体量不小,但真正写代码时麻烦的不是文档太多,而是不知道当前任务该看哪一段。一个「在地图上显示区域船舶并支持轨迹回放」的需求,可能同时涉及地图初始化、鉴权、船舶服务、轨迹管理和清理逻辑。如果不分场景就通读全部参考,既浪费时间,也容易把 Demo 的页面结构、按钮交互复制进业务代码。
另一个高频问题是边界不清:公开入口只定义了一组明确的类、方法和配置项,而内部实现、名称含 Impl 的类、未列入公开方法的函数都不应触碰。坐标顺序也容易踩坑——ShipxyAPI.latLng(lat, lng) 和 Leaflet 坐标数组是 [纬度, 经度],GeoJSON 的 coordinates 却是 [经度, 纬度]。
技能如何工作
它定位为任务调度器,而不是完整 API 手册。工作方式是先判断任务类型,再选一个最接近的 Recipe,最后按 Recipe 指向读取必要的 Reference。
标准流程大致是:
- 确认是新建、修改、排错、代码审查还是 API 查询。
- 检查前端框架、JSAPI 加载方式、运行页面和部署来源。
- 从场景路由中选择最接近的 Recipe,提取业务流程。
- 从知识路由读取对应 Reference,核对签名、配置、单位和生命周期。
- 只生成业务所需的 JavaScript,不复制 Demo 的 HTML、CSS 或事件代码。
- 完成后检查鉴权、坐标、时间单位、事件解绑和资源清理。
比如要做区域船舶展示,就走「展示区域船舶」Recipe;要做历史轨迹回放,就选「轨迹回放」。组合需求再叠加必要 Recipe,而不是一次性加载全部文档。
适用边界与注意点
- 授权 Key 必须通过地图配置的
ak传入,并绑定当前页面实际部署的域名或 IP。 - 只使用 HTTPS JSAPI 包和 HTTPS 服务地址;
status: 14优先排查域名绑定关系。 - 示例、日志和截图中不得保留真实 Key,用占位符替换。
- 不实例化名称含
Impl的类,不调用未列入公开方法的内部函数。 - 保留官方字段拼写,包括历史兼容拼写,不擅自「纠正」。
- 时间戳、速度等单位以目标 Reference 为准,不确定是否公开的成员视为不可用。
- 若文档未证明某能力公开可用,会明确说明边界,不根据内部源码猜测。
使用场景
- 新建功能:在已有业务系统中接入船讯网地图,按 Recipe 完成初始化、底图切换与控件配置。
- 地图业务:在指定海区展示区域船舶,支持按 MMSI 定位、选中并清理船舶服务实例。
- 轨迹回放:查询船舶历史轨迹,播放、暂停、调速,并在播放结束后移除轨迹对象。
- 故障排查:地图加载后接口返回 status: 14,需要核对 Key、来源域名绑定与 HTTPS 配置。
适合人员
- 需要在已有 Web 项目里接入船讯网地图的前端工程师,希望按场景拿到可嵌入的最小 JavaScript。
- 负责海事可视化与船舶数据展示的 GIS 开发者,需要在区域船舶、船队、轨迹回放之间快速选型。
- 排查 JSAPI 加载失败、status 14 或坐标错乱的运维工程师,需要按固定顺序定位鉴权与单位问题。
- 做技术评审的负责人,需要检查代码是否误用内部 API、泄露真实 Key 或遗漏事件解绑。