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.youkuaiyun.com/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"
})
链接根据自己的实际情况修改。
本文介绍了解决ArcGIS JS API地图加载时因外网字体无法访问而导致的地图加载失败的问题。提供了一套完整的解决方案,包括下载字体、本地部署、IIS配置及代码调用等步骤。
2987





