WebGIS简单实现一个区域炫酷的3D立体地图效果

简介: 1.别人的效果         作为一个GIS专业的,做一个高大上的GIS系统一直是我的梦想,虽然至今为止还没有做出一个理想中的系统,但是偶尔看看别人做的,学习下别人的技术还是很有必要的。眼睛是最容易误导我们的,有时候看着炫酷的效果,可能只是因为一点视觉误差,本文用一个别人的系统界面来解析如何实现一个小区域的立体地图效果。

1.别人的效果

        作为一个GIS专业的,做一个高大上的GIS系统一直是我的梦想,虽然至今为止还没有做出一个理想中的系统,但是偶尔看看别人做的,学习下别人的技术还是很有必要的。眼睛是最容易误导我们的,有时候看着炫酷的效果,可能只是因为一点视觉误差,本文用一个别人的系统界面来解析如何实现一个小区域的立体地图效果。


          图片来源:http://www.popodv.com/ui.html#&gid=1&pid=39

        上图就是别人的系统,吸引我的不止是浓浓科技感的布局配色,还有那中间凸起的带立体效果的影像图区域。

 

2.技术分析

        作为一个GIS专业毕业的,又从事GIS开发7年的老鸟,我试着来想想如何实现中间地图的立体区域效果。

        想法1:

        立体效果可以看做一个阴影,css3中有一个box-shadow属性可以试试。这个是前端的常规做法,但是如果放到GIS地图可能就比较困难了,毕竟地图数据是放到地图插件里面来呈现的(当然也可以自己写个地图插件,有这个能力请忽略本文章,大神走好),如果使用现有主流的ArcGIS JS、OL3、leaflet或者百度、高德、谷歌的API,估计都没有提供直接阴影渲染的接口,更何况只是其中的一个区域呢。放弃

        想法2:

        图片覆盖层,记得当年弄百度地图API的时候,有一个图层叫overlay的,可以将图片的4个角固定到地图的4个点,然后图片就可以跟随地图的缩放移动。我想可以直接弄一张图片做成立体效果放到地图上面。当然这样可以实现上图的效果,但是脱离了GIS地图的意义,因为图片的话就不具备地图数据的浏览和后期的开发了,仅仅作为一个展示系统意义不大。失败

        

        于是我把这个图发到了几个朋友的群里(都是做技术的),一个朋友提点了我,膜拜!!!

 

        该朋友是他们公司GIS专员,负责他厂关于GIS的一切技术。不由感叹,同九义汝河秀!

 

        于是简单的分析了下,这样的立体效果实现可以用自发布地图服务来实现,其中涉及到4个图层:

        图层1:底图

        图层2:带条纹渲染填充的区域边界,向南偏移10(随便写的,做一个假设和比较)

        图层3:带条纹渲染填充的区域边界,向南偏移8(随便写的,做一个假设和比较)

        图层4:图层2、3区域的影像图,不偏移

 

 

3.写在最后

        以上技术分析仅为个人拙见,如果有更好的实现方法,请不吝赐教。

  

  查看更多GIS、WPF、JAVA、前端技术分享,请访问我的个人技术网站,查看更多技术分享。网站地址:www.88gis.cn

相关文章
|
4月前
|
前端开发 定位技术
前端知识笔记(十七)———地图多点标注功能
前端知识笔记(十七)———地图多点标注功能
108 1
聊天框(番外篇)—如何实现@功能的整体删除
上一篇文章中,我们已经初步实现了聊天输入框,但其@功能是不完善的,例如无法整体删除、无法获取除用户名以外的数据(假设用户名不是唯一的)。有问题就要想办法解决,在网上百度了一圈后,倒是有一些收获。本文就着重解决@的整体删除以及获取额外数据。
1054 0
聊天框(番外篇)—如何实现@功能的整体删除
|
数据可视化 前端开发 算法
动态渲染拓扑图方案探究
拓扑图是数据可视化领域一种比较常见的展示类型,目前业界常见的可视化展现的方案有ECharts、HighCharts、D3、AntV等。当前的项目使用的是基于ECharts的静态关系图渲染,为了后续可能扩展成动态的拓扑图渲染,本文探索了ECharts的原理以及G6的原理,也算是对自研一个可视化库的基本实现方法做了一个梳理。
244 0
好客租房140-长列表性能优化(可视区域渲染)
好客租房140-长列表性能优化(可视区域渲染)
90 0
好客租房140-长列表性能优化(可视区域渲染)
|
数据库 数据安全/隐私保护
【号外】-温习如何画E-R图
【号外】-温习如何画E-R图
【号外】-温习如何画E-R图
|
vr&ar 图形学
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态
|
物联网
ThingJS有4种技术实现对象拾取方式
对象的拾取,这是3D技术的一个专业术语。
ThingJS有4种技术实现对象拾取方式
|
定位技术
WebGIS中自定义互联网地图局部注记的一种方案
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.    前言 实际项目中我们经常会遇到这样一种场景:地图底图可能是互联网地图(百度、高德、天地图)等等,同时我们自己又有某个区域单独的一套POI数据,我们需要将互联网地图中这个区域的原有POI数据进行遮罩然后只显示我们自己的POI数据。
825 0
|
算法 前端开发 定位技术
WebGIS中等值线前端生成绘制简析
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 等值线是GIS制图中常见的功能,一般有两种思路:一种是先进行插值生成等值面栅格图,然后将等值面提取成等值线;另一种是进行插值后,直接再根据算法进行插值点连接生成一条尽量闭合以及平滑的曲线。
1525 0