ArcGis 使用离线地图时,解决字体文件访问不到导致地图加载不出来的问题
项目部署需求,部署机器无法访问外网
ArcGis地图服务需要离线部署(arcgisapi服务部署方式可以去其他地方搜索)
地图加载时发现图层无法显示,同时有一个.pbf的字体文件获取失败
排查发现,默认的esri配置中是去static.arcgis.com 这个域名下去获取字体文件,这是arcgis的官网字体路径
外网不通的情况下肯定是获取不到的,导致了地图加载不出来
解决办法:
1. 安装离线地图,到arcgis官网下载所需的字体文件,在离线地图服务的根目录中新建fonts文件夹,将字体文件放到fonts文件夹中,类似下面这样,我这里尽量把可能需要的字体都下载了
2.在iis中离线地图服务站点上添加mime类型(我这里离线地图是部署在iis上)
.pbf application/pbf
3.修改esriConfig的fontsUrl地址,配置为离线地图地址后加/fonts,如下,https://aaa.bbb为离线地图站点地址
const [Map, MapView, Extent, EsriConfig] = await loadModules(['esri/Map', 'esri/views/MapView', 'esri/geometry/Extent', 'esri/config'])
EsriConfig.fontsUrl = 'https://aaa.bbb/fonts'
参考文章:
https://blog.csdn.net/kuching_2011/article/details/118570197
https://blog.csdn.net/litong149/article/details/114880404
https://blog.csdn.net/gongxifacai_believe/article/details/111247295