许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  【esri-loader】帮助文档翻译(第二部分):用法详解

【esri-loader】帮助文档翻译(第二部分):用法详解

阅读数 18
点赞 0
article_banner

esri-loader怎么用?看完不要太清楚。

【未完待续】!!!Q1: 在哪里用?

这是我最疑惑的问题之一,我知道要用esri-loader,肯定是某条js导入语句起作用的,但是你得告诉我写在哪里吧?

目前测试成功的是,在webpack打包的入口js文件中写:


import esriLoader from 'esri-loader'

其中,esriLoader是导入后的模块名,当然也可以叫loader,mapLoader随意

服务器环境下打开html,F12查看:

加载成功,接下来就可以正常使用esri-loader加载ArcGIS API for JavaScript的模块了。

至于页面的组织,那就要看开发者的前端功底了。

Q2: 导入

在加载ArcGIS API for JS之前,先要加载官方给的CSS: esriLoader.loadCss('https://js.arcgis.com/4.6/esri/css/main.css');//此方法虽然是esriLoader模块的方法,但是并没有export暴露出来,所以webpack打包后运行是失败报错的,不知道什么原因,所以推测并不是在js代码中导入的css 上面报错如下:

可以通过传统的方式加载,例如在html中添加<link>标签,或在CSS中用@import语句。

CSS导入语句可以写在css文件中嵌入html的link标签中、写在style标签中;


<link rel="stylesheet" href="https://js.arcgis.com/4.6/esri/css/main.css">
@import url('https://js.arcgis.com/4.6/esri/css/main.css');

效果见下:

Vue中可以写在根组件的style标签中:

加载成功的样子:

Q3: 怎么用

使用loadModules方法即可。


esriLoader.loadModules(['esri/views/MapView', 'esri/WebMap'])
.then(([MapView, WebMap]) => {
  var webmap = new WebMap({
    portalItem: { 
      id: 'f2e9b762544945f390ca4ac3671cfa72'
    }
  });
  var view = new MapView({
    map: webmap,
    container: 'viewDiv'
  });
})
.catch(err => {
  console.error(err);
});

抽出主干


loadModules([模块数组])
.then(callback)
//尽管dojo在以后希望用户用when代替then

这里loadModules()就相当于require的第一个字符串数组参数;

而then里的callback回调就是require里的第二个方法参数。只不过此处用了Lambda表达式。

后面catch是处理异常。

Q4: 高级用法

待更新。

转载于:https://www.cnblogs.com/onsummer/p/8594716.html


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空