var viewer=ysc.createNormalCesium("cesiumContainer",{ globalImagery:"天地图"//天地图影像 }); var data={ circle:[0.003,117,35,30]// 第一个参数 0.003表示半径,第二个第三个分别表示底座圆心的坐标,第四个表示切割成多少个点。组成多少个面。越多会越卡 尽量实际项目不影响效果,越少越好。 ,observer:[117.01,35.01,500]//观察点,也就是光源点 ,positionList:[ //我们这里就不加高度了。不然太麻烦了 //以圆心为参考做偏移值获取,圆心坐标 [117,35],简单点画个正方形吧 如果画圆的画,也可以多取点 [117,35],//初始位置 [117.01,35], //下一个点 [117.01,35.01], [117,35.01], [117,35],//回来 ] ,material:Cesium.Color.RED.withAlpha(0.5)//光的材质 ,number:100//数字越小速度越快 }; var entityCList= ysc.createLightScan(viewer,data); //返回的是所有面的数组 如果需要清除的画,就通过此清除 //清除 // for(var i=0;i< entityCList.length;i++){ // viewer.entities.remove(entityCList[i]); // } //**** 下面是额外的 可加可不加***// //立方体柱子 表示站台 viewer.entities.add({ position : Cesium.Cartesian3.fromDegrees(data.observer[0],data.observer[1],data.observer[2]/2), name:"", box : { dimensions : new Cesium.Cartesian3(100.0, 100.0,data.observer[2]), outline : true, outlineColor : Cesium.Color.WHITE, outlineWidth : 2, material : Cesium.Color.fromRandom({alpha : 0.5}) } }); //发蓝光的线 var glowingLine = viewer.entities.add({ name : 'Glowing blue line on the surface', polyline : { positions : Cesium.Cartesian3.fromDegreesArray( [ data.positionList[0][0],data.positionList[0][1], data.positionList[1][0],data.positionList[1][1], data.positionList[2][0],data.positionList[2][1], data.positionList[3][0],data.positionList[3][1], data.positionList[4][0],data.positionList[4][1], ]), width : 10, material : new Cesium.PolylineGlowMaterialProperty({ //发光线 glowPower : 0.2, color : Cesium.Color.BLUE }) } }); viewer.zoomTo(viewer.entities)
详情可见 ysc灯光扫描