1 部署包下载
2 部署包举例
下载之后的目录效果,以4.6举例
3 安放部署包到项目中
将文件放到项目路径下面去,记住这个路径
/static/plugins/arcgis46
,我是把文件放在相对项目根文件夹的这个路径中
4 根据安放路径修改源码
4.1 修改init.js
修改上图中的init.js,将该文件中的baseUrl:"https://[HOSTNAME_AND_PATH_TO_JSAPI]dojo
,修改为baseUrl: (location.protocol === 'file:' ? 'http:' : location.protocol) + '//' + (function () { var result = ""; result = window.location.href.substr(window.location.href.indexOf("//") + 2); result = result.substr(0, result.lastIndexOf("/")); return result; })() + "/static/plugins/arcgis46/dojo"
即指向从项目根文件夹开始写实际的dojo.js
所在路径,如果后期部署包,路径进行了修改,主要是对"/static/plugins/arcgis46/dojo"
进行修改。
4.2 修改dojo.js
同时修改/static/plugins/arcgis46/dojo/dojo.js
,将该文件中的baseUrl:"https://[HOSTNAME_AND_PATH_TO_JSAPI]dojo
,修改为baseUrl: (location.protocol === 'file:' ? 'http:' : location.protocol) + '//' + (function () { var result = ""; result = window.location.href.substr(window.location.href.indexOf("//") + 2); result = result.substr(0, result.lastIndexOf("/")); return result; })() + "/static/plugins/arcgis46/dojo"
即指向从项目根文件夹开始写实际的dojo.js
所在路径,如果后期部署包,路径进行了修改,主要是对"/static/plugins/arcgis46/dojo"
进行修改。
5 测试引入情况
5.1 安装esri依赖
1 | cnpm i esri-loader --s |
5.2 新建MapView组件
请注意
- 配置
esriLoader
的引入路径是../../static/plugins/arcgis46/init.js
,即项目中实际的init.js
的路径。 - 注意引入
esri
基础所需样式文件,@import './../../static/plugins/arcgis46/esri/css/main.css'
。 view对象
实例化对应的标签一定要写一个固定的高度,要不然页面上不会显示。- 请注意实例化
view
的过程中,通过esriLoader
引入的依赖文件,一定要注意顺序,应该是"esri/map", "esri/views/MapView","dojo/domReady!"
,顺序有问题,页面会报错,说MapView
不是一个constructor
。 - 注意通过
esriLoader.isLoaded()
来监听esriLoader是否已经初始化过了 - 注意通过
map.initialized
来判断map
对象是否已经初始化完成。 - 对于
_this.view.hitTest(e)
来解析当前鼠标行为,在3.X
版本之中,监听到鼠标的evt
对象之后,就可以直接通过evt.MapObject
来获取当前鼠标的经纬度,但是在4.X
版本之中,是需要先将鼠标的evt
对象进行解析之后,才能获取相关的地理信息数据。
组件源码
1 | <template> |