openlayers学习(一)仿3D效果地图

最近看到一些3D的地图,觉得很炫酷,实现按道理来说应该是用3D类的地图来实现,刚好在学习一些openlayers的内容,所以也尝试一下,但最终效果也仅局限于单个polygon下。

其他实现方式应该还是使用cesium或者mapbox或者echarts会方便很多。

学了一趟openlayers后,发现并没有那种可以供我使用的示例或者是其它可参考的啥的,所以自己分析后,觉得3D效果瞅着就是一块多边形偏移后显示的结果,然后就使用官方的例子https://openlayers.org/en/latest/examples/layer-clipping-vector.html
先对多边形裁剪后展示下方偏移的阴影,效果如下:
在这里插入图片描述

有那么一点点感觉了,但是有些地方我瞅着不是那么好看,比如说在这里插入图片描述
这种地方,就瞅着可以连上就好了。没有图形学知识的我,瞅着两个面发起了愁,最后用QGIS勾勒出了一部分样子

偏移图层,粉红色为原图层,绿色为设置偏移量后的图层,紫色为勾勒出来的新图层(为多个面组合而成),效果如下:
在这里插入图片描述
基于上面的理论,然后就开始对这个geojson格式研究起来了,发现里面的数据结构都是点和点连接起来的,算法薄弱的我,目前只能使用笨办法拼接出这些多边形,组成openlayers想要的格式后,叠加到地图上,最终显示的结果如下:

目前还存在的问题:
1、目前仅能加载数据量很小的多边形,如果多边形的顶点太多了浏览器就会崩溃
2、瞅着不是很美观,有可能是上面显示的样式问题
3、帮忙补充下(本人能力有限,有别的实现方式能留言发我一下吗,谢谢啦,刚入门map的崽崽)

想法:
是否能通过判断面是否被大的面被挡住后就不加入数据中,感觉最少可以减少一半的数据量
或者优化顶点数据量跳过几个点啥的
大佬们给点意见哈,还是说用这个openlayers做3D效果本身是个伪命题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值