在做ionic3+/angular 加载arcgis api for javascript,出现以下错误:
如何在angular项目中使用arcgis api for javascript。
arcgis api for javascript加载代码:
return this.esriloaderservice.load({ //arcgis api地址 url:"http://localhost:8080/arcgis_js_api/library/3.20/3.20/init.js" }).then(()=>{ this.esriloaderservice.loadmodules([ "esri/map", "esri/layers/arcgistiledmapservicelayer" ]).then(([map,arcgistiledmapservicelayer])=>{ this.map = new map("mapdiv"); let layerurl = new arcgistiledmapservicelayer("http://map.geoq.cn/arcgis/rest/services/chinaonlinecommunity/mapserver"); this.map.addlayer(layerurl); }) })
通过npm上esri-loader的说明,导致报错的原因是因为当前项目中的esri-loader的版本过高。
官方给出的说明
截止到当前
在执行 npm install --save angular2-esri-loader esri-loader
安装的angular2-esri-loader 和esri-loader版本是
方法一:选择降低esri-loader的版本,使用当前已有代码
降低esri-loader版本
npm uninstall --save esri-loader npm cache clean -f npm install --save esri-loader@1.0.0
方法二:保留当前esri-load版本,升级现有代码(需要加载esriloader 模块)
const options = { url: "http://localhost:8080/arcgis_js_api/library/3.20/3.20/init.js" }; esriloader.loadmodules(['esri/map'], options) .then(([map]) => { // create map with the given options at a dom node w/ id 'mapnode' let map = new map('mapnode', { center: [-118, 34.5], zoom: 8, basemap: 'dark-gray' }); }) .catch(err => { // handle any script or module loading errors console.error(err); });
如对本文有疑问, 点击进行留言回复!!
Parallels Desktop v15.1.4-47270 商业版下载 Mac安装Windows首选虚拟机
关于LPC824Lite开发板下载程序时提示"Invalid ROM Table"
MySQL 5.7 关于 JSON 类型的子集Key/Value获取方法分享
javascript从入门到跑路-----小文的js学习笔记(19)------- js的垃圾回收机制
网友评论