当前位置:   article > 正文

SuperMap Vue-iClient3D-WebGL 使用指南_supermap/vue-iclient3d-webgl

supermap/vue-iclient3d-webgl

作者:taco

        相信很多人都有在尝试使用超图提供的iClient3D vue组件产品,但是最近遇到了一些客户,在使用上有些问题。明明配置好了却出不来球?为什么总是报错?于是发现官网上的安装指南,在配置中可能没有描述的特别清楚。本篇文章具体介绍一下,如何去快速的安装使用Vue-iClient3D-WebGL初始化项目。

一,使用脚手架创建个新项目

1.vue create "xxx"

vue create demo

        在官方文档中,并没有明确指出组件需要使用的vue版本,当前组件所安装的,实际使用vue版本为2.0的版本。 需要使用vue3.0的话是另一篇链接,可以点击这里访问到。

        所以接下来我们这边选择vue2.0。配置可以选择默认的配置,自定义的话可自行添加。

        创建完成后,我们运行一下看看是否成功。

  1. cd Demo
  2. npm run serve

         通过访问localhost:8080看到上图界面,完成最初的准备。

二,安装iClient3D组件包

1.打开我们的项目使用命令npm install @supermap/vue-iclient3d-webgl安装vue组件

(注意npm中并不带有for,如果含for则是另一个组件产品)

npm install @supermap/vue-iclient3d-webgl

2.安装完成后,我们就可以在node_modules中看到我们的组件包@supermap\vue-iclient3d-webgl

 3.引入静态资源,将安装包里的static文件夹下的Cesium依赖包放到工程里的static文件夹下。

4.配置好依赖后,在index.html中直接引入即可。当然也可以通过其他方式去引入。可以参考之前的文档动态引用

  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width,initial-scale=1.0">
  7. <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  8. <title><%= htmlWebpackPlugin.options.title %></title>
  9. <!-- Cesium 依赖-->
  10. <link href="/static/Cesium/Widgets/widgets.css" rel="stylesheet">
  11. <script src="/static/Cesium/Cesium.js"></script>
  12. </head>
  13. <body>
  14. <noscript>
  15. <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
  16. </noscript>
  17. <div id="app"></div>
  18. <!-- built files will be auto injected -->
  19. </body>
  20. </html>

 5.main.js中配置webgl组件库内容

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. //vue-iclient3d-webgl组件库
  4. import '@supermap/vue-iclient3d-webgl/dist/styles/vue-iclient3d-webgl.min.css';
  5. import VueiClient from '@supermap/vue-iclient3d-webgl';
  6. Vue.config.productionTip = false
  7. Vue.use(VueiClient);
  8. new Vue({
  9. render: h => h(App),
  10. }).$mount('#app')

6.通常在配置完成后,会出现一些类型识别的问题,所以我们需要新建一个config将一些不识别的类型配置进规则中,在目录中新建vue.config.js

 并根据实际情况配置规则

  1. module.exports = {
  2. chainWebpack: config => {
  3. // GraphQL Loader
  4. config.module
  5. .rule('rules')
  6. .test(/\.(png|jpe?g|gif|svg|cur)(\?.*)?$/)
  7. .use('url-loader')
  8. .loader('url-loader')
  9. .end()
  10. }
  11. }

 7.最后这里直接再App.vue中添加我们的组件,就可以在网页中看到地球了。

  1. <template>
  2. <div id="app">
  3. <sm-viewer>
  4. <sm3d-measure></sm3d-measure>
  5. </sm-viewer>
  6. <HelloWorld msg="Welcome to Your Vue.js App"/>
  7. </div>
  8. </template>
  9. <script>
  10. import HelloWorld from './components/HelloWorld.vue'
  11. export default {
  12. name: 'App',
  13. components: {
  14. HelloWorld
  15. }
  16. }
  17. </script>
  18. <style>
  19. #app {
  20. font-family: Avenir, Helvetica, Arial, sans-serif;
  21. -webkit-font-smoothing: antialiased;
  22. -moz-osx-font-smoothing: grayscale;
  23. text-align: center;
  24. color: #2c3e50;
  25. margin-top: 60px;
  26. }
  27. </style>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/94940
推荐阅读
相关标签
  

闽ICP备14008679号