Appearance
快速开始
安装(npm / ESM)
shell
pnpm add geoverse olol 是 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(); // 解绑容器并释放资源