@ywbgn/bgl-package
v1.0.0
Published
基于 Vue 3 与 `@arcgis/core` 的地图组件库:地图初始化、底图切换(含自定义矢量示例)、工具栏(缩放、复位、测距、测面、绘图、清绘)。
Downloads
23
Readme
@ywbgn/bgl-package
基于 Vue 3 与 @arcgis/core 的地图组件库:地图初始化、底图切换(含自定义矢量示例)、工具栏(缩放、复位、测距、测面、绘图、清绘)。
安装依赖
npm install @ywbgn/bgl-package vue @arcgis/core引入依赖与注册
import { createApp } from 'vue'
import App from './App.vue'
import VueArcgisMap from '@ywbgn/bgl-package'
import '@arcgis/core/assets/esri/themes/light/main.css'
const app = createApp(App)
app.use(VueArcgisMap)
app.mount('#app')使用示例
<template>
<div style="position: relative">
<ArcgisMap ref="mapRef" width="100%" height="600px" @ready="onReady" />
<template v-if="view && sketchLayer">
<BasemapSwitch :view="view" />
<MapToolbar :view="view" :sketch-layer="sketchLayer" />
</template>
</div>
</template>
<script setup>
import { ref, shallowRef } from 'vue'
const mapRef = ref(null)
const view = shallowRef(null)
const sketchLayer = shallowRef(null)
const onReady = ({ view: v, sketchLayer: layer }) => {
view.value = v
sketchLayer.value = layer
}
</script>ArcgisMap 支持以下尺寸参数:
width:默认100%,支持String | Number(Number按px处理)height:默认70vh,支持String | Number(Number按px处理)
按需引入(不全局注册)
import { ArcgisMap, BasemapSwitch, MapToolbar } from '@ywbgn/bgl-package'说明
- MapView、Layer 等 ArcGIS 对象不要用
ref()做深度响应式,请用shallowRef(或markRaw),否则会出现__accessor__与 Vue Proxy 冲突。本库子组件内部已对 props 做了toRaw处理,但业务侧仍建议用shallowRef保存view。 - 地图与测量能力依赖 Esri 服务与许可策略,部署与密钥请按官方文档配置。
- 本包依赖
@arcgis/core,使用时需遵守 Esri 官方许可条款。 - 若使用 UMD 产物,请注意 Rollup 对
default+ 具名导出同时存在时的用法;推荐 ESM 方式引用。
