Echarts地图 绘制自定义区域 & 解决区域点击无效
1. 绘制地图自定义区域
需求:绘制带高新区的河源市地图,目前百度地图json还没有此新区。需手动绘制。
STEP1:获取市区json文件—输入市区后选择下面JSON API(包含子区域)的下载
STEP2:geojson中左上角打开step1下载的文件,点下图按钮绘制新区区域,右侧富文本框便会同步生成新生地图的json文件,绘制完成保存即可在echarts中引入。
STEP3:在echart中使用
var heyuanMap= echarts.init(document.getElementById('map_box'))//第一个参数为自定义地图名,最好是绘制市区的拼音//第二个参数是外部引入的json文件,放在变量data中echarts.registerMap('heyuan', data); heyuanMap.setOption({//... geo: {map: 'heyuan',//与echarts.registerMap的第一个参数对应show: true,},//...})
2.geojson.io的使用–修改已绘制或地图json所导入的区域
👇地图上,市辖区
位于源城区
内。我希望修改源城区地接,让它与市辖区从包含变为相邻
Geojson编辑后效果:
直接点上图编辑图标(Edit layer)会发现,没有办法选中你想编辑的区域。
后来我发现,它默认给你编辑右侧JSON中第一个properties对象为空的子元素(地区)。
👇那如何编辑指定区域?
照上面步骤修改之后再点地图上那个编辑图标(Edit layer),就可以修改源城区原有的点了
3.geojson.io的使用–绘制中间镂空的环形区域
先贴效果👇
步骤:
2. 解决引入本地json 文件失败
之后遇到了Echarts引入本地json失败(报错跨域)的问题
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
尝试过以下2个方法:
方法1(从请求方式下手更改)
$.getJSON("heyuan.json",function(data){//获取json文件中的数据}
方法2(难道是本美女浏览器问题?)
右键google->快捷方式->目标中添加
–user-data-dir=“随便一个路径名称”
(方法一无效,方法二对我有用,但是担心到别人电脑会不会出现同样问题于是保险起见👇👇)
方法3:不引入json文件而改为js文件,将数据return…之后再引入
function heyuanJson (){// 返回河源地区json文件return {}})