1、问题:
加载arcgis地图服务的时候,字体加载的是外网上的字体,没有外网导致没有办法加载到,然后报错,地图无法加载。
官方api解释,从4.8开始默认featureLayer和csvLayer默认访问https://static.arcgis.com/fonts加载字体,官方也给了配置加载本地字体的方式。
在使用ArcGIS JS API的Font类往地图上添加字体,可以把字体文件放在本地快速访问,然后通过esri/config 的 fontsUrl进行配置。
2、下载arcgis api字体
链接:https://pan.baidu.com/s/1M7UWPK6tvUDi1MuPfU3sNg
提取码:uaiu
3、配置字体文件夹
将字体加压后,在arcgis本地部署的文件夹下,添加font文件夹;
如果没有arcgis api本地部署的,需要先进行IIS本地部署。
部署教程:https://blog.csdn.net/litong149/article/details/105925479?spm=1001.2014.3001.5501
将字体文件复制到font文件夹下:
4、配置IIS
1)在 IIS 上添加 MIME 类型
1
2
3
在 IIS 中添加 HTTP 响应标头,避免跨域问题:
Access-Control-Allow-Origin:*
重启iis中arcgis api系统;
5、在代码中调用
1)在配置本地arcgis api的时候配置
2)在调取地图服务的函数里调:
require(["esriConfig"], function(esriConfig){
esriConfig.fontsUrl = "http://localhost:8891/arcgis_js_api/library/4.13/font"
})
链接根据自己的实际情况修改。