客户需求
客户的公司在湖北省内都有,因此,想要找我们做一块大屏展示他们在湖北省内公司的情况,但是有一点特殊要求,那就是有些公司是好几个市在一起的,比如说“十堰分公司”就是由十堰市和神农架林区组成的,这就涉及到了一个地图数据合并的问题
具体实现
最开始拿到这个问题的时候也是很头疼的,也在网络上找了很多的实现方法,但是不是没用,就是不符合我的需要,因此,我仔细研究了DataV这个玩意。还真的让我看出点东西,直接讲实现方法
首先,打开DataVDataV.GeoAtlas地理小工具系列 ,请你打开两个页面,两个一模一样的页面,至于为什么,下面我会说明,你看到的就是这么个页面
然后把鼠标移入到地图里面,可以通过滚轮来控制缩放,就跟普通的地图一样的玩法,这个时候,你就点击你想选中的那个省份,比如我选的是湖北省,选中之后,地图就会这样
记住,右边的包含子区域 一定要选中!因为你要合并的就是湖北省内的市,所以这一个是必选的!!!然后点击我画的第二个框,复制湖北省地图,这一步也很重要!!!
然后,你打开你的第二个页面,点击上面的边界生成器,出来的就是这个页面
点击我箭头指向的这个东西,它是粘贴数据用的,把我刚刚复制的湖北省地图数据粘贴进去,点击确定按钮,就能在这里出现湖北省的轮廓了
OK,到这里,就已经完成大半了,但是剩下一步就是很重要的,把想要合并的城市边界去除
这一步也很简单,你只需要点击左边的合并按钮,注意, 先点击合并按钮,然后再选择想要合并的城市!!!
比如我要合并的是十堰市和神农架,那么我就再点击左边的合并按钮之后,鼠标左键单击十堰市和神农架林区即可,然后再点击左边的合并按钮(注意,这个时候合并按钮的icon已经变成对钩了,点击就相当于确定合并)
合并完成之后就像我这样子了,然后,把你想合并的城市重复这种操作即可,最终,我要的地图就完成了
整个湖北省内地图合并成我需要的样子,但是如果你觉得现在只需要把这个JSON数据导出然后放到Echarts地图里面就完成了,那就大错特错,因为完成之后的地图数据里面,发生了市合并的数据里面,properties这个参数为空!!!
所以在地图上,就会发现合并过的地图数据变成了这样
可以说是非常糟糕
解决之道,就在原来的地图JSON数据中,具体来讲,就是完完整整的湖北省的JSON数据中。
这个时候,你需要把这两个JSON数据在编辑器中打开,把完整的湖北省地图里面的 properties数据粘贴过来,复制到合并过的JSON数据的properties为空的数据上面,这一步也是个精细活,只能一个个试,最终的效果就是这样
非常好,完美的契合了客户的要求,至于城市名称怎么变成XXX分公司这种形式,我就不在这里过多赘述了。
希望这篇文章能满足你的需求