摘要:
1. 大数据量的grid栅格。其中使用了d3.min.js 和 turf 的函数。 2. Grid 数据 1 const geohashlen = 5; 2 function Grid(geojson) { 3 let minLng = Infinity, minLat = Infinity, ma 阅读全文
摘要:
1. 在地图上添加一个GeoTIFF的图片。 2. 主要使用了 GeoTIFF 和 GeoTiffPlane 对象。 3. 加载完成后为image图片,并使用material进行渲染。 1 fetch('https://gw.alipayobjects.com/os/rmsportal/XKgkjj 阅读全文
摘要:
1. 使用飞线,加上飞机的移动,第一眼看过去和前面的 arcline-animation 很类似。 但是内部的代码内容完全不一样。 2. 使用了 Bloom 效果,看起来很不错。 3. 材质 1 var lines = [], lineTrails = []; 2 var material = ne 阅读全文
摘要:
1. fatline ,这个名字也很有讲究,可是我还是不知道它的含义。 2. 创建 fatline 扩展类 1 var OPTIONS = { 2 altitude: 0 3 }; 4 5 class FatLine extends maptalks.BaseObject { 6 construct 阅读全文
摘要:
1. 电子罩栏,这个效果很不错了。可是用在什么地方比较合适呢? 2. 定义扩展对象类 1 class ElectricShield extends maptalks.BaseObject { 2 constructor(coordinate, options, material, layer) { 阅读全文
摘要:
1. coolwater, 确实是很酷的water,其效果也相当不错。对于水域来说, 比单独画一个蓝色的多边形好很多。 2. 首先定义一个CoolWater的扩展对象,然后使用THREE.TextureLoader 进行加载 data/CoolWater-iChannel0.png 和 data/C 阅读全文
摘要:
1. 白云效果,是真的白云效果。 2. 白云效果的材质 1 function generateTextureCanvas() { 2 // build a small canvas 32x64 and paint it in white 3 var canvas = document.createE 阅读全文
摘要:
1. 自定义圆圈,从效果上来看,并没有太惊艳,普通的canvas应用,不过圆圈的颜色是渐变色, 这个还是头一次看到实际的应用,平时不太敢想这么去做。 2. 渐变色是使用 canvas 制作的。使用了 ctx.createLinearGradient。 1 function getMaterial(f 阅读全文
摘要:
1. 自定义高架,每个高架路线为经纬度数组, 其中包括经度、纬度、高度。 2. 调用addLine函数添加对象。 1 function addLine(lnglats, name, width = 8) { 2 const lineString = new maptalks.LineString(l 阅读全文
摘要:
1. 广告牌的效果,关键是每个的样式和颜色可以自定义。 2. 从代码中可以看出,使用了 canvas ,并将对应的 canvas 转化为image。 自己的功力不够,只能看出来这一点,还不知道对不对。等回来找本 ThreeJS 的书看。 3. 初始化数据 1 function initData() 阅读全文
摘要:
1. 在飞线的基础上加入移动轨迹,很像飞机飞过的轨迹。这个效果在百度地图里也有。 2. 在 ArcLine 对象中,加入了 speed 参数,在 ArcLine 的类中加入 _animation 动画代码。 3. 添加 Line。 1 function loadRoad(geojsonURL, te 阅读全文
摘要:
1. arcline 应该就是飞线,和百度以及其他的地图类似,从一个点飞出一条线到另外一个点。 2. 数据使用的是 ./data/lines.json , 可以看到里面包含了很多经纬度点。 3. 将里面的对象转为 lineStrings。 1 var lineStrings = geojson.ma 阅读全文
摘要:
1. 此demo演示了自定义动画的生成,动画的样式为一层层荡开的圆圈,类似与水纹。 2. 此demo中第一次使用了类的扩展对象,将圆圈定义为一个对象,样式和动画在其内部进行定义,外部直接 调用添加到对应的经纬度上即可。 3. 参考代码 扩展对象类中有 _animation 函数,该函数为对象自动执行 阅读全文
摘要:
1. Vertex 查了一下意思是 顶点的意思,但是我一直没有理解到底是啥原因, 代码使用的是 threeLayer.toExtrudePolygon,而不是 toExtrudeMesh , 也许 是因为是多边形,所以才会有顶点之说。 2. 代码参考 1 features.forEach(funct 阅读全文
摘要:
1. topColor 这个demo中的效果个人感觉还是不错的,尤其是建筑看上去还分了楼层。 这个楼层效果感觉比前面的楼层高效果都要好。 2. 建筑的方式还是按照以前的方式进行加载,然后在表面进行纹理贴图,淡蓝色的楼层使用 了data/building.png 进行贴图处理。 3. 页面显示 4. 阅读全文
摘要:
1. 建筑物轮廓为建筑的边缘线,内部不进行填充颜色,只有边缘线进行勾勒,效果也不错。 2. 将建筑物填充为黑色方块,获取建筑物的边线 1 //default values 2 var OPTIONS = { 3 altitude: 0 4 }; 5 6 //https://zhuanlan.zhih 阅读全文
摘要:
1. 三维建筑应该是GIS中比较典型的应用了,不论是高德百度还是其他的开发库,支持三维地图 显示是比较重要的一个环节。 2. 建筑数据使用的是 ./threelayer/demo/buildings.js 。 这样的数据使用的是json格式的,而不是geojson。 3. 使用 toExtrudeM 阅读全文
摘要:
1. Boxes 我特意查了一下,Box 的复数是 Boxes,不是Box,threelayer的官方demo里写的是boxs,对象名称 写的也是 threeLayer.toBoxs , 所以,我只在这篇文章里修改了这个复数形式,代码里面没有修改。 2. Boxs 从形式上看是 Box 的复数,指的 阅读全文
摘要:
1. Box-stack 则是使用了不同颜色的材质在同一个地点进行叠加,显示出了颜色渐变的效果。 这个效果的用途可以用在多种类型的数据对比。 2. 参考代码 从代码中可以看出,在每一个经纬度上,对14个颜色循环添加,相当于在同一个经纬度上叠加了14个颜色块。这里每个颜色块的高度都是100,如果使用高 阅读全文
摘要:
1. box 从代码上来说,和 bar 的代码类似,只不过是 threelayer.toBar 改为了 threelayer.toBox 。在样式的区别来看,也是 Bar 的六边形变成了 Box 的 四边形。 2. 代码参考 Box: 1 var bar = threeLayer.toBox(d.c 阅读全文