Maptalk-Three-Vue简单示例
通过国产GIS前端框架付镇大神的[Maptalks](maptalks/maptalks.js: A light and plugable JavaScript library for integrated 2D/3D maps. (github.com)),利用maptalks.three插件实现三维效果,后续就可以通过Three.js的material实现shader特效。实际项目开发中前端大多采用vue实现,该demo通过原生实现,其中meshline原版已很久未更新,通过对meshline 的es实现进行调整。
简单实现功能包含了GeoJson、3Dtile加载,波纹强、动态线,动态线的实现原理就是动态调整uv贴图,这部分实现也可应用到Cesium,这可能是最简单的Shader特效了。GeoJson和3Dtiles这块主要是想看下maptalks.three下两种加载方式性能的差异,主要应用在建筑楼体和模型加载上,测试对大场景的加载性能,小场景下差异不大,不过Geojson加载的楼体确实漂亮一下,这块的实现底层依赖poly-extrude,拉伸楼体的颜色通过分段颜色实现。
效果图如下:
最后再安利一下maptalks的设计MapTalks IDE,通过配置实现各种复杂Shader才能实现的特效,支持PBR渲染,材质组等。
示例代码 https://github.com/linxing58/maptalk-three-vue
标签:Vue,楼体,示例,实现,maptalks,Three,加载 From: https://www.cnblogs.com/HanxiGIS/p/17138811.html