地图下钻方案

布鲁斯李

在接触到的一些项目中,有地图下钻的需求,一起来看看都有哪些可行性的解决方案。

方案一: 使用leaflet中地图裁剪

相关接口tiledMapLayer中启用clipRegionEnabled并设置clipRegion。通过post模拟get请求来获取指定裁剪范围的地图来实现下钻。

代码:

链接:https://pan.baidu.com/s/1tLGIVtzRiDUJzhsA1Q5mYQ

提取码:dthv

方案二:添加地图蒙版的形式,去遮盖未选中的部分。

实现思路:假设现有一幅全国地图做地图下钻,需提前准备好一份全国各行政区划的矢量数据,和一份能覆盖全国地图的面数据(蒙版数据)。在桌面软件iDeskTop中用蒙版面数据与各行政区划数据做叠加,获取未相交的部分面数据(全国34个行政区划,所以可以获得34个蒙版叠加后数据),把这34个数据发布成服务,然后在前端点击某个行政区时,获取该行政区的名称并将相应省份叠加后生成蒙版数据服务作为地图服务进行叠加上去,遮盖住未选中的地图。

方案三:使用Echarts进行地图下钻(数据要求:只能是json或者geojson数据,影像、栅格数据无法下钻)

效果如下:

 全国和各省份的json数据获得:

阿里云 DataV - 数据可视化平台

上述DEMO代码:

链接:https://pan.baidu.com/s/10xhIq8sLmaJSGYUF3l2u3A 
提取码:395e 

方案四:向iserver请求原始瓦片(通过rest api),然后后端根据设置的空间范围对瓦片进行裁剪,再显示出来。后端需要用Java原生的graphics.setClip来裁剪。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值