vue Cesium开发三维地图业务——地图初始化

853 阅读1分钟

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

image.png 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: ''
})

image.png

image.png

image.png

批量注册成为组件,然后暴露到main.js,这样可以全局使用。

3.初步使用效果

image.png

image.png 使用vue cesium加载wms地图的基础服务

image.png