您这儿错了:
feature3D.set_geometry(point3D);
改为:
feature3D.set_geometry(rainparticleSystem);
参考:
构造 geoPoint3D 对象,火焰/烟雾/烟火/喷泉/爆炸/尾焰粒子关联的 Geometry 必须为 GeoPoint3D 类型的对象
var geoPoint3D = new SuperMap.Web.Core.GeoPoint3D(new SuperMap.Web.Core.Point3D(116.38817, 39.99263, 30)); 构造粒子几何对象并关联 Gemotry 对象为 geoPoint3D var geoParticle = new SuperMap.Web.Core.GeoParticle(); if (geoParticle.makeWithGeometry(geoPoint3D) == false) { return; } 设置粒子效果类型,可参见 ParticleType 枚举 geoParticle.set_particleType(SuperMap.Web.Core.ParticleType.Fire); 获取 geoParticle 对象所持有的 rainPariticleSystem var particleSystem = geoParticle.getParticleSystemByIndex(0); if (particleSystem == null) { return; } 设置粒子系统对象的各项参数 particleSystem.set_particleWidth(500); particleSystem.set_particleHeight(700); particleSystem.set_particleCountPerSecond(13000); 构造 Feature3D 对象,设置几何对象为 geoParticle var feature3D = new SuperMap.Web.Core.Feature3D(); feature3D.set_geometry(geoParticle); 获取跟踪图层并在跟踪图层添加 feature3D 对象 trackingLayer.add(feature3D, "particle");
试试通过rainParticle.set_particleType(SuperMap.Web.Core.ParticleType.Fountain)枚举来设置正常吗。
问题都解决了,现在火,喷泉,车都可以显示了。
现在的问题就是,小车到指定位置的时候停下一段时间,然后让我设置的喷泉灭火。
你真厉害~
可以设置的呢
function displayRain() { //初始化 rainRegion,降雨/降雪粒子关联的 Geometry 必须为 GeoRegion3D 类型 var point3Ds = new SuperMap.Web.Core.Point3Ds(); point3Ds.add(new SuperMap.Web.Core.Point3D(114.5628, 40.272031, 200)); point3Ds.add(new SuperMap.Web.Core.Point3D(120.11412, 40.383005, 200)); point3Ds.add(new SuperMap.Web.Core.Point3D(119.7380, 39.11966, 200)); point3Ds.add(new SuperMap.Web.Core.Point3D(114.5358, 39.15709, 200)); var rainRegion = new SuperMap.Web.Core.GeoRegion3D(); rainRegion.addPart(point3Ds); //初始化 geoParticel,设置粒子效果类型并关联 Gemotry 对象为 rainRegion var rainParticle = new SuperMap.Web.Core.GeoParticle(); rainParticle.set_particleType(SuperMap.Web.Core.ParticleType.Rain); if (rainParticle.makeWithGeometry(rainRegion) == false) { return; } //初始化 rainParticle 持有的 rainPariticleSystem var rainparticleSystem = rainoParticle.getParticleSystemByIndex(0); if (rainparticleSystem == null) { return; } //设置粒子大小、每秒产生的粒子数量 rainparticleSystem.set_particleWidth(500); rainparticleSystem.set_particleHeight(700); rainparticleSystem.set_particleCountPerSecond(13000); //获取 rainStyle3D,设置绝对高度模式属性并定义相应的高度值,用以实现雨从天空缓缓的落下 var rainStyle3D = new SuperMap.Web.Core.Style3D(); rainStyle3D.set_extendHeight(30000); rainStyle3D.set_altitudeMode(SuperMap.Web.Realspace.AltitudeMode.ABSOLUTE); //获取 feature3D,关联 geometry 对象为 rainParticle 并设置 style3D 对象为 rainStyle3D var feature3D = new SuperMap.Web.Core.Feature3D(); feature3D.set_geometry(rainParticle); feature3D.set_style3D(rainStyle3D); //获取 trackingLayer 图层添加要素对象 trackingLayer.add(feature3D, "Rain"); }