自托管 · 可离线 零商业 API 依赖 OpenLayers 10

把地图能力
装回自己的服务器里

坐标转换、地理编码、瓦片代理、静态地图、路线规划 —— 全部由本地算法与自建数据完成。 不用申请 Key,不担心配额,也不必把用户的位置数据交给任何第三方。

GET /api/geocode/search?q=天安门 GET /api/route?from=…&to=… GET /api/coord/all?lng=…&lat=…
离线 POI 记录
可用瓦片源
5
坐标系互转
路网要素

六项能力,一套服务

每一项都可以单独调用,也可以组合成完整的位置服务链路

坐标转换

WGS84 / GCJ02 / BD09 / CGCS2000 / EPSG:3857 六向互转。纯本地算法实现,不调用任何外部转换接口,内网可用。

地理编码

正地理(名称→坐标)与逆地理(坐标→地址)双支持。在线走 Nominatim 代理 + 限速缓存,失败自动降级到内置离线库。

瓦片代理与缓存

多源开源瓦片统一代理,落盘缓存 + 访问热度分级。自建矢量渲染兜底,外部源挂了也不会白屏。

路线规划

自研离线引擎,驾车 / 骑行 / 步行三种出行方式。基于本地 OSM 路网构建图结构,完全不依赖外部路径服务。

静态地图

服务端直接渲染 PNG,支持标注与折线。适合生成分享图、邮件内嵌、服务端报表等拿不到 JS 运行时的场景。

</>

JS SDK

一行 <script> 引入,用法对齐主流商业地图。无需构建工具、无需 import map,第三方站点可直接集成。

三步接入

从注册到第一个请求,通常三分钟内可以走完

注册账号并创建 API Key

在控制台自助申请,按需勾选 scope。Key 明文只在创建时展示一次,之后仅存摘要。

挑一个接口试一下

文档页每个接口都带在线调试,填上参数就能看到真实响应,不用先写客户端代码。

把 SDK 挂到你的页面

一行 <script src="…/sdk/oms.js?key=…">,地图、搜索、路线就都有了。

// 1) 一行引入
<script src="https://your-host/sdk/oms.js?key=YOUR_KEY"></script>

// 2) 建图
const map = OMS.map('container', {
  center: [116.397, 39.909],
  zoom: 12,
});

// 3) 搜索并标到图上
const r = await OMS.search('天安门');
map.addMarker(r.lng, r.lat, { name: r.name });

// 4) 规划路线并绘制
await map.route([116.397, 39.909], [116.31, 40.00], {
  profile: 'car',
});
所有接口默认返回 WGS84 坐标。需要 GCJ02 / BD09 时传 crs 参数,由服务端换算,避免客户端重复转换造成的偏移。

商户认证标注

商家自主提交门店信息,通过审核后在地图上获得认证标识,并进入搜索结果

自主提交

填写门店名称、类别、地址、坐标与联系方式。地图选点可直接拾取经纬度,无需手工查坐标。

平台审核

提交后进入待审队列,管理员形式审核通过即上线。驳回会写明理由,修改后可重新提交。

进搜索与图层

通过的商户进入独立认证图层与关键词检索,带「认证」角标与自有联系方式展示。

提交商户认证 查看已认证商户

现在就把它跑起来

注册后即可自助申请 Key,接口默认匿名可用,配额与访问控制都可以在后台调整。

免费注册 阅读文档