Newer
Older
EMS-WEB-3.0 / out / artifacts / ems_Web_exploded / s / media / js / globeFeatureManager.js
wxn on 9 Aug 2016 2 KB first commit

//调用说明:添加feature
//var position = myGlobalCtrl.CreatePoint3d();
//position.SetValue(102.436414875, 139.93129409843963, 0);
//globeFeatureManager.addFeature("设备图层","张帆","DEVICETYPE","vehicle","model/红色轿车.gcm",position,0);

//调用说明:删除feature,layer为图层对象
//globeFeatureManager.deleteFeature(“featureName”,layer)

//更新模型路径
//globeFeatureManager.updateFilepathAndFieldvalue(“featureName”,layer,modelpath)

var globeFeatureManager={
	addFeature:function(layerName,featureName,fieldName,fieldValue,modelPath,position,altitudeMode){
		if(ds!=null){
			for(var i = 0;i<ds.Count;i++){
				if(ds.Item(i).Caption==layerName){
					var layer=myGlobalCtrl.Globe.Layers.Item(ds.Item(i).Caption);
					if(layer!=null){
					var feature = layer.Dataset.CreateFeature();  
					var model = myGlobalCtrl.CreateGeoModel();
					model.FilePath=modelPath;
					model.Position=position;
					model.AltitudeMode=altitudeMode;
					feature.Geometry = model;
					feature.Name = featureName;
					feature.SetFieldValue(fieldName, fieldValue);//第一个参数是 字段的名称,使用字段名称作为第一个参数的函数没有封装出来
					
					//修复bug GXZTCGXT_BUG_035(1、编号以及编码都显示空白)
					feature.SetFieldValue("井深", 0);
					feature.SetFieldValue("编码", featureName);
					
					layer.AddFeature(feature);					
					layer.Save();
					}
				}
			}
		}
		else{
		alert("增加feature失败");
		}
	},
	deleteFeature:function(featureName,layer){
	
		if(featureName != null && layer != null){
		var features= layer.GetFeatureByName(featureName,false);
		 for(var i=0;i<features.Count;i++){
			feature = features.Item(i);
			feature.Delete();
		 }
		layer.Save();
		myGlobalCtrl.Refresh();
		}
	},
	
	updateFilepathAndFieldvalue:function(featureName,layer,modelPath){
	
		if(layer == null||featureName==null||modelPath==null){
			return;
		}
		var features = layer.GetFeatureByName(featureName,false);
		for ( var j = features.Count -1; j >= 0; j--) {
			var feature = features.Item(j);
			if (feature != null && feature.Geometry!=null && feature.Geometry.Type==305) {
				var model = feature.Geometry;			
				model.FilePath = modelPath;		
				layer.save();
			}
		}
	}
}