研发环境:node
1.创建项目 webgis
命令如下:
vue create webgis
2.引入arcgis库
cd webgis npm install esri-loader@2.14.0 --save-dev
3. 编写自己的组件
在components下增加了WebMap.vue组件
代码如下
<template> <div> </div> </template> <script> import {loadModules} from 'esri-loader'; export default { name: 'webmap', mounted(){ // 懒加载 loadModules([ 'esri/Map', 'esri/views/MapView' ], {css:true}).then(([ArcGISMap, MapView]) => { console.log('112') const map = new ArcGISMap({ basemap: 'streets' }); this.view = new MapView({ container: this.$el, map: map, center: [118,34], zoom: 8 }); }); }, beforeDestroy(){ if (this.view) { this.view.container = null; } } } </script> <style scoped> div{ padding: 0; margin: 0; 100%; height: 100%; } </style>
如果是用arcgis脚手架搭建的,则是另外一种写法,具体的写法看官网
arcgis VUE搭建快速指导: https://developers.arcgis.com/javascript/latest/guide/vue/
4.在app中引入webmap
代码如下
<template> <div id="app"> <webmap /> </div> </template> <script> import webmap from './components/WebMap' export default { name: 'App', components: { webmap } } </script> <style> html,body { margin: 0; padding: 0; height: 100%; 100%; } #app { display: flex; flex-direction: column; padding: 0; margin: 0; 100%; height: 100%; } </style>
5.执行npm run serve命令后,即可查看结果如下