1.引入两种地图底部框架(vue cesium和mars3D Map)
1.项目分两种cesium
1.mars3D,此框架可以借助别人模板,能够快速上手开发
API文档:火星科技
引用方法:<v-marsmap></v-marsmap>
2.vue cesium 此框架采用原生cesium与vue结合,结合项目实际需求可舍取采用底部开发框架
API文档[:]([Vue Cesium (zouyaoji.top)](https://zouyaoji.top/vue-cesium-v2/#/zh/index))
引用方法:<v-vuemap></v-vuemap>
项目主体模板采用mars3d的vue模板,方便同事之间的快速上手,后续熟练把业务逻辑逐步转移到vue cesium
mars的底图也组件按需引入采用,此方法略感觉强于在index.html上引入加载,或者暴露引用到app.vue,毕竟有些页面可能不需要地图展示。
2.分别注册两个底图成为组件
2.1vue cesium注册
--->加载依赖
NPM
npm install vue-cesium --save
YARN
yarn add vue-cesium
<section>
<vc-viewer ref="viewer" class="viewer" :animation="animation" :timeline="timeline" :camera.sync="camera" @ready="ready">
<!-- <vc-layer-imagery>
<vc-provider-imagery-openstreetmap></vc-provider-imagery-openstreetmap>
</vc-layer-imagery> -->
<!-- wms底图服务 -->
<vc-layer-imagery ref="wms" :alpha="alpha" :brightness="brightness" :contrast="contrast">
<vc-provider-imagery-wms :url="url" :layers="layers" :parameters="parameters"></vc-provider-imagery-wms>
</vc-layer-imagery>
<vc-datasource-geojson :data="geourl" @ready="subReady" :show="show" :options="options" ref="ds" @click="clicked" :entities="entities"></vc-datasource-geojson>
</vc-viewer>
</section>
</template>
<script>
import Vue from 'vue'
import VueCesium from 'vue-cesium'
Vue.use(VueCesium, {
// cesiumPath 是指引用的Cesium.js路径,如
// 项目本地的Cesium Build包,vue项目需要将Cesium Build包放static目录:
// cesiumPath: /static/Cesium/Cesium.js
// 个人在线Cesium Build包:
// cesiumPath: 'https://zouyaoji.top/vue-cesium/statics/Cesium/Cesium.js'
// 个人在线SuperMap Cesium Build包(在官方基础上二次开发出来的):
// cesiumPath: 'https://zouyaoji.top/vue-cesium/statics/SuperMapCesium/Cesium.js'
// 官方在线Cesium Build包,有CDN加速,推荐用这个:
// cesiumPath: 'https://cdn.jsdelivr.net/npm/cesium@latest/Build/Cesium/Cesium.js',
// 指定Cesium.Ion.defaultAccessToken,使用Cesium ion的数据源需要到https://cesium.com/ion/申请一个账户,获取Access Token。不指定的话可能导致 Cesium 在线影像加载不了
accessToken: ''
})
批量注册成为组件,然后暴露到main.js,这样可以全局使用。
3.初步使用效果
使用vue cesium加载wms地图的基础服务