Skip to content

快速开始

安装(npm / ESM)

shell
pnpm add geoverse ol

ol 是 peerDependency,由宿主项目安装,与你项目中其他 OpenLayers 代码共享同一实例。

ts
import { GMap, Marker, GVectorLayer } from 'geoverse';
import 'geoverse/style.css';

const map = new GMap({
  target: 'map', // 容器元素或其 id
  base: 'gd-vec', // 高德矢量底图(默认)
  center: [118.18, 24.49], // WGS-84 经纬度
  zoom: 12,
});

const layer = new GVectorLayer();
map.addLayer(layer);
layer.addFeature(new Marker({ position: [118.18, 24.49] }));

SSR 安全

import 'geoverse' 模块顶层零副作用(不打印、不注册全局),可以在 Next/Nuxt 的服务端代码中安全引入;只需保证 new GMap() 等 DOM 操作发生在浏览器侧。

安装(UMD / <script> 直引)

UMD 单文件将全部依赖(含 ol)打入,无需另装任何包,全局名 GeoVerse

html
<link rel="stylesheet" href="geoverse.css" />
<script src="geoverse.umd.js"></script>
<script>
  var map = new GeoVerse.GMap({ target: 'map', base: 'gd-vec' });
</script>

要素交互事件

GMap 在地图层面统一派发要素级事件:

ts
const marker = new Marker({ position: [118.2, 24.5] });
marker.onPointer('click', (evt) => {
  console.log('clicked', evt.mapEvent?.coordinate);
});

销毁

所有类都提供完整的生命周期回收:

ts
map.destroy(); // 解绑容器并释放资源

下一步