openlayers加载geojson数据不显示
控制台报错
Access to XMLHttpRequest at 'file:///E:/open_layers/modular/countries.geojson' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome-extension, edge, https, chrome-untrusted
一开始以为代码或者数据地址错误,结果都不是,也找不到相关的解决方法资料
后来搜json数据加载不了,找到了一些方法,应用后终于解决了geojson数据不能加载的问题
写在这里给大家一些参考
1.在浏览器属性-快捷方式-目标里加上这两个(不确定是不是必须的操作)
--allow-file-access-from-files 和 --enable-file-cookies
原本:"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
修改后:"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --allow-file-access-from-files --enable-file-cookies
注意这三个分别用英文空格隔开
2.运行html时用live server插件打开(这个是必须操作)
原本都是快捷键art+B打开,就是open in default Bowser,
后来用live server打开就可以显示geojson数据了
没有这个的可以先去安装插件
3.一些小tip
如果还是不显示可以检查一下这些:
(1)文件引用路径
(2)extent显示范围和比例尺(我加载全球数据的时候就是,一开始显示中心定到中国中间,比例尺也定太大了,要把比例尺放到100km才看到一点边界)