| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112 | var gis = gis || {};	 gis.edit = function() {};var gkDasetName=null;var gqDasetName=null;var jyrDasetName=null;//var zyDasetNames ={"gk":gkDasetName,"gq":gqDasetName,"jyr":jyrDasetName};var zyDasetNames = null;var zyarray = [];//uflldLayerMap={"GK_BASIC_JSJY_GK_GQ":gqvectorLayer,"GK_BASIC_JSJY_JYR":jyrvectorLayer,"GK_BASIC_JSJY_JYR_MT":mtvectorLayer,"GK_BASIC_JSJY_JYR_BW":bwvectorLayer,"GK_BASIC_JSJY_GK_ZYQ":zyqvectorLayer};var moreSyncData;//var moreSyncEnd;//是否为岸线var isLine = false;var moreSyncResult;var editmap={gq:"GK_BASIC_JSJY_GK_GQ",jyr:"GK_BASIC_JSJY_JYR",mt:"GK_BASIC_JSJY_JYR_MT",		bw:"GK_BASIC_JSJY_JYR_BW",zyq:"GK_BASIC_JSJY_GK_ZYQ",md:"GK_BASIC_JSJY_GK_MD",ax:"GK_BASIC_JSJY_GK_AX"};gis.edit.init = function() {	zyarray = window.parent.getValues();	nowModifyFeature=null;	arrAddFeature = [];	editFeature = null;	if(modifyvectorLayer){		modifyvectorLayer.removeAllFeatures();	}	if(locationLayer){		locationLayer.removeAllFeatures();	}		if(parameterMap){		//http://localhost:8080/znjg/editgis/gisiframe.html?model=gis&treeType=ty&editType=gq&id=32100113		//{model: "gis", treeType: "ty", editType: "gq", id: "32100113"}		if(!gis.script.isBlank(parameterMap.editType)&&gis.script.isNum(parameterMap.id)){			var type=editmap[parameterMap.editType];			if(type==editmap["ax"]){				isLine = true;			}			if(!gis.script.isBlank(type)){								var tlayer=uflldLayerMap[type];				if(tlayer){					tlayer.removeAllFeatures();				}								if(dataServices){					for(var n in dataServices){						var data=gisConfigBean.dataconfig[n];						if(data.gisLayerinfoKey&&data.gisLayerinfoKey=="GK_BASIC_JSJY_GK_GK"){							gkDasetName = data.datasetNames;						}else if(data.gisLayerinfoKey&&data.gisLayerinfoKey=="GK_BASIC_JSJY_GK_GQ"){							gqDasetName = data.datasetNames;						}else if(data.gisLayerinfoKey&&data.gisLayerinfoKey=="GK_BASIC_JSJY_JYR"){							jyrDasetName = data.datasetNames;						}						if(data.gisLayerinfoKey&&data.gisLayerinfoKey==type){							data=jQuery.extend(true, {}, data);							if(data.Model&&data.Model[gis.script.modelid]){																	var model=data.Model[gis.script.modelid];								data.datasetNames=data.datasetNames.split(",");								data.fields=data.fields.split(",");								data.cachedata=model.cachedata||data.cachedata;								data.zoom=model.zoom||data.zoom;								data.processCompleted=model.processCompleted;								data.onSelectOpenPopkey=model.onSelectOpenPopkey;								data.treelocationHighlight=model.treelocationHighlight||"false";								data.modelObj=model;								data.url=data.url||defdataUrl;								data.attributeFilter=data.gisLayerinfoAttrKey+"="+parameterMap.id;																//console.log(data);								gis.edit.loadServicetreelocation(data,parameterMap);															}													//	break;						}					}				}			}		}	}	};/* * 根据空间数据信息定位 */gis.edit.loadServicetreelocation = function(o,objdata){	var featureParam = new SuperMap.REST.FilterParameter({        //name: o.name,        fields:o.fields,        attributeFilter:o.attributeFilter    });	var featuresBySQLParams=new SuperMap.REST.GetFeaturesBySQLParameters({		//toIndex:65536,		toIndex:-1,		queryParameter:featureParam,		datasetNames:o.datasetNames	});		var featuresBySQLService = new SuperMap.REST.GetFeaturesBySQLService(o.url, { 	    eventListeners: { 	        "processCompleted":function(e){	        	var result=e.result;	        	//console.log('result>>',result);	        	var features=result.features;	        		        	if(features&&features.length){	        		isHaveGeo = true;	        		var feature = features[0];	        		var centerLonLat = feature.geometry.getBounds().getCenterLonLat();		        		if(modifyvectorLayer){		        		try{		        			gis.script.clearAllDeactivate();		        						        		nowModifyFeature=feature.clone();			        		nowModifyFeature.attributes=nowModifyFeature.attributes||{}			        		nowModifyFeature.attributes.gisEditLayerinfoKey=o.gisLayerinfoKey;			        		nowModifyFeature.attributes.featureidval=feature.fid;			        		nowModifyFeature.attributes.editinfoobj={lon:centerLonLat.lon,lat:centerLonLat.lat,zoom:o.zoom||6};			        		//console.log("1.nowModifyFeature.attributes.editinfoobj",nowModifyFeature.attributes.editinfoobj);			        					        		modifyvectorLayer.removeAllFeatures();			        		modifyvectorLayer.addFeatures(nowModifyFeature);			        		//console.log('o>>',o);		        		}catch(e){		        					        		}	        				        		}	        			        		if(locationLayer){	        			var nowlocationFeature=feature.clone();	            		locationLayer.removeAllFeatures();		        		if(o.treelocationHighlight&&o.treelocationHighlight=="true"){		        			var fillColor="#a4a5a7";//"#ffff00"		        			var fillOpacity=0.5;		        			nowlocationFeature.style = {			        				fill:true,			        				stroke:true,			        	            strokeColor: "#ffff00",			        	            strokeWidth: 3,			        	            //pointerEvents: "visiblePainted",			        	            //fillColor: "#a4a5a7",			        	            strokeDashstyle:"solid",			        	            fillColor: fillColor,			        	            fillOpacity: fillOpacity			        	        };			        		//bwvectorLayer.addFeatures(feature);			        		locationLayer.addFeatures(nowlocationFeature);	  			        					        					        		try{			        			labelLayer.removeAllFeatures();			        			if(!o.gisLayerinfoKey||o.gisLayerinfoKey!="GK_BASIC_JSJY_JYR"){					        		if(o.labelfield&&feature.attributes[o.labelfield]){					        								        			var geoText = new SuperMap.Geometry.GeoText(centerLonLat.lon, centerLonLat.lat,feature.attributes[o.labelfield]); 						        		var geotextFeature = new SuperMap.Feature.Vector(geoText); 						        		labelLayer.addFeatures([geotextFeature]);					        		}				        							        			}		        						        		}catch(e){			        						        		}			        				        		}	            	}        			        			        		if(feature.attributes){	    				feature.attributes.onSelectOpenPopkey=o.onSelectOpenPopkey;	    				feature.attributes.gisLayerinfoAttr=feature.attributes[o.gisLayerinfoAttrKey];	    				feature.attributes.infokey=o.gisLayerinfoKey+"_"+feature.attributes.gisLayerinfoAttr;	    				feature.attributes.gisEditLayerinfoKey=o.gisLayerinfoKey;	    				feature.attributes.featureidval=feature.fid;	    				feature.attributes.labelfieldid=o.labelfield;	    										if(o.processCompleted&&gis.script[o.processCompleted]){							gis.script[o.processCompleted](feature,o);						}	        		}	        			        		var bounds = new SuperMap.Bounds(); 	        		bounds=feature.geometry.getBounds();	        			        	//	map.setCenter(new SuperMap.LonLat(centerLonLat.lon, centerLonLat.lat),o.zoom||6); 	        		map.zoomToExtent(bounds,false);	        			        	}else if(zyarray&&zyarray.length>0) {	        		/**需要编辑的当前要素不存在的时候,逐级查询父极要素进行定位**/	        		var zyId=null;	        		var attributeLocateFilter = null;        			var datasetNames = [];        			zyDasetNames ={"gk":gkDasetName,"gq":gqDasetName,"jyr":jyrDasetName};        			//循环查找zyid        			for(var i=zyarray.length-1;i>=0;--i){        				if(zyarray[i].type && zyarray[i].zyid!="" && zyarray[i].zyid!="null"){        					zyId = zyarray[i].zyid;        					datasetNames.push(zyDasetNames[zyarray[i].type]);        					attributeLocateFilter = "id= "+ zyId;        					break;        				}        				        			}        			if(attributeLocateFilter &&datasetNames.length>0 ){        				var featureLocateParam = new SuperMap.REST.FilterParameter({            		        attributeFilter: attributeLocateFilter            		    });            			var featuresLocateBySQLParams=new SuperMap.REST.GetFeaturesBySQLParameters({            				toIndex:-1,            				queryParameter:featureLocateParam,            				datasetNames:datasetNames            			});            			var featuresBySQLService = new SuperMap.REST.GetFeaturesBySQLService(o.url, {             			    eventListeners: {             			        "processCompleted":function(e){            			        	var result=e.result;            			        	var featuresLocate = result.features;            			        	var featureLocate = featuresLocate[0];            			        	if(featureLocate){            			        		var bounds = new SuperMap.Bounds();                 		        		bounds=featureLocate.geometry.getBounds();                		        		map.zoomToExtent(bounds,false);            			        	}            			        	            			        },            			        "processFailed": gis.script.sqlProcessFailed             			    }            			});             			featuresBySQLService.processAsync(featuresLocateBySQLParams);         			}        			        				        	//	alert('hh');	        	}	        },	        "processFailed": gis.script.sqlProcessFailed 	        } 	}); 	featuresBySQLService.processAsync(featuresBySQLParams); 	//featuresBySQLService.processAsync(featuresBySQLParams); }//定义编辑要素属性//var arrAddFeature = [];var addFlag = 0;var multiPolygonArrayAdd=[];var numId=0;//新增绘图事件响应gis.edit.addFeatureCompleted = function(drawGeometryArgs){	$.confirm({		title : '确认框',		content : '确认保存编辑区域吗',		confirm : function() {			if(drawGeometryArgs){				//gis.edit.addFeatureCompletedService(drawGeometryArgs);			//	nowModifyFeature =  drawGeometryArgs.feature;			//	modifyvectorLayer.addFeatures( drawGeometryArgs.feature);			//	locationLayer.addFeatures( drawGeometryArgs.feature);				drawPolygon.deactivate();				drawGeometryArgs.feature.geometry.xzId = numId+1;				addFlag = 1;				//arrAddFeature=drawGeometryArgs;			//	arrAddFeature.push(drawGeometryArgs);										        multiPolygonArrayAdd.push(drawGeometryArgs.feature.geometry);				console.log("multiPolygonArray",multiPolygonArrayAdd);		    								//	gis.edit.submitToService();			}		},		cancel: function(){		//	modifyvectorLayer.removeAllFeatures();			modifyvectorLayer.removeFeatures(drawGeometryArgs.feature);			drawPolygon.deactivate();		}	});}var addLineFeature;//新增绘图事件响应--画线gis.edit.addFeatureLineCompleted = function(drawGeometryArgs){	$.confirm({		title : '确认框',		content : '确认保存编辑区域吗',		confirm : function() {			if(drawGeometryArgs){				drawPolyline.deactivate();				//alert("已保存"); 				addLineFeature = drawGeometryArgs;							}		},		cancel: function(){			modifyvectorLayer.removeFeatures(drawGeometryArgs.feature);			drawPolyline.deactivate();		}	});}//批量提交增删改gis.edit.submitToService=function(){//	alert(arrAddFeature.length);	//删除提交	if(delFeature){		gis.edit.delFeatureCompletedService(delFeature);	}		//新增提交	if(multiPolygonArrayAdd&&multiPolygonArrayAdd.length>0){		gis.edit.addFeatureCompletedService(multiPolygonArrayAdd);	}	//新增提交--线	if(addLineFeature){		gis.edit.addFeatureCompletedService(addLineFeature);	}	//修改提交	if(editFeature && addFlag == 0 ){		gis.script.editgisFeatureService(editFeature);	}	//	}	//修改提交//	if(arrEditFeature && arrEditFeature.length>0 && addFlag == 0){//		for(var i=0;i<arrEditFeature.length;++i){//			gis.script.editgisFeatureService(arrEditFeature[i]);//		}//	}}gis.edit.addFeatureCompletedService = function(drawGeometryArgs){	gis.edit.progressdiv('show');//	drawPolygon.deactivate();	if(!gis.script.isBlank(parameterMap.editType)&&gis.script.isNum(parameterMap.id)){		//console.log(parameterMap);		var type=editmap[parameterMap.editType];		if(!gis.script.isBlank(type)){			if(dataServices){				for(var n in dataServices){					var data=gisConfigBean.dataconfig[n];					if(data.gisLayerinfoKey&&data.gisLayerinfoKey==type){						data=jQuery.extend(true, {}, data);						if(data.Model&&data.Model[gis.script.modelid]){																var model=data.Model[gis.script.modelid];							data.datasetNames=data.datasetNames.split(",");							data.fields=data.fields.split(",");							data.cachedata=model.cachedata||data.cachedata;							data.zoom=model.zoom||data.zoom;							data.processCompleted=model.processCompleted;							data.onSelectOpenPopkey=model.onSelectOpenPopkey;							data.treelocationHighlight=model.treelocationHighlight||"false";							data.modelObj=model;							data.url=data.url||defdataUrl;							data.attributeFilter=data.gisLayerinfoAttrKey+"="+parameterMap.id;																					//gis.edit.syncDataLayerSourcesService(data,parameterMap);							gis.edit.findLayerFeatureCompletedService(data,parameterMap,drawGeometryArgs);						}												break;					}				}			}					}	}}gis.edit.findLayerFeatureCompletedService = function(data,objdata,drawGeometryArgs){		var o=jQuery.extend(true, {}, data);	//测试时开放	//o.attributeFilter=o.gisLayerinfoAttrKey+"=92100111";		var featureParam = new SuperMap.REST.FilterParameter({        //name: o.name,        fields:o.fields,        attributeFilter:o.attributeFilter    });	var featuresBySQLParams=new SuperMap.REST.GetFeaturesBySQLParameters({		//toIndex:65536,		toIndex:-1,		queryParameter:featureParam,		datasetNames:o.datasetNames	});	var featuresBySQLService = new SuperMap.REST.GetFeaturesBySQLService(o.url, { 	    eventListeners: { 	        "processCompleted":function(e){	        	var result=e.result;	        	//console.log('result>>',result);	        	var features=result.features;	        	var sourcesfeature;	        	if(features&&features.length){	        		sourcesfeature = features[0];	        	}	        	//gis.edit.syncDataLayerTargetsService(data,sourcesfeature,objdata);	        	gis.edit.addLayerFeatureCompletedService(drawGeometryArgs,data,sourcesfeature,objdata);	        		        },	        "processFailed": gis.script.sqlProcessFailed 	        } 	}); 	featuresBySQLService.processAsync(featuresBySQLParams); 	}gis.edit.addLayerFeatureCompletedService = function(drawGeometryArgs,data,sourcesfeature,objdata){	var o=jQuery.extend(true, {}, data);	var editFeatureParameter;	if(sourcesfeature){	//	var geometry = drawGeometryArgs.feature.geometry;      //  var feature = new SuperMap.Feature.Vector();	//	feature.geometry = drawGeometryArgs.feature.geometry;				var featureidval = sourcesfeature.fid;		if(editFeature && editFeature.geometry){			sourcesfeature = editFeature;		}    	//在原有基础上新增地块:将地块数组存入多多边形对象    	var multiPolygon = new SuperMap.Geometry.MultiPolygon(drawGeometryArgs);    	console.log("multiPolygon",multiPolygon);    			sourcesfeature.attributes.gisEditLayerinfoKey=o.gisLayerinfoKey;		sourcesfeature.attributes.featureidval=featureidval;    			//console.log('sourcesfeature>>',sourcesfeature);//return;				gis.script.editgisFeatureService(sourcesfeature,multiPolygon);	//	gis.script.editgisFeatureService(sourcesfeature,feature);		return;	}else{    	// 完全新增 :		var newAddFeature =null;				if(isLine){//增加线			newAddFeature = drawGeometryArgs.feature.geometry;		}else{//将地块数组存入多多边形对象			var multiPolygon = new SuperMap.Geometry.MultiPolygon(drawGeometryArgs);	    	console.log("multiPolygon",multiPolygon);	    	newAddFeature = multiPolygon;		}		var addfeatures = {                fieldNames:[o.gisLayerinfoAttrKey],                fieldValues:[parameterMap.id],             //   geometry:drawGeometryArgs.feature.geometry                geometry:newAddFeature            };		//console.log('addfeatures>>',addfeatures);	 		editFeatureParameter = new SuperMap.REST.EditFeaturesParameters({            features: [addfeatures],            editType: SuperMap.REST.EditType.ADD,            returnContent:false        });	}			if(editFeatureParameter			&&o.url&&o.datasetNames&&o.datasetNames.length==1){    	var dnames=o.datasetNames[0].split(":");    	if(dnames&&dnames.length==2){    		//console.log("dnames",dnames);    		var url=o.url+"/datasources/"+dnames[0]+"/datasets/"+dnames[1];			var editFeatureService = new SuperMap.REST.EditFeaturesService(url, {                eventListeners: {                    "processCompleted": function(editFeaturesEventArgs) {                    	gis.script.updateFeaturesProcessCompleted(editFeaturesEventArgs);                    },                    "processFailed": gis.script.sqlProcessFailed                }            });			//console.log(editFeatureParameter);			editFeatureService.processAsync(editFeatureParameter);    	}	}}gis.edit.addFeatureCompletedService2 = function(drawGeometryArgs){	gis.edit.progressdiv('show');	drawPolygon.deactivate();	if(!gis.script.isBlank(parameterMap.editType)&&gis.script.isNum(parameterMap.id)){		//console.log(parameterMap);				if(dataServices){			gis.script.consolelog('dataServices',dataServices);			for(var n in dataServices){				var data=gisConfigBean.dataconfig[n];				var type=editmap[parameterMap.editType];				if(data&&type==data.gisLayerinfoKey){					data=jQuery.extend(true, {}, data);					data.datasetNames=data.datasetNames.split(",");					data.fields=data.fields.split(",");					data.url=data.url||defdataUrl;					//console.log(data);										var geometry = drawGeometryArgs.feature.geometry;			        var feature = new SuperMap.Feature.Vector();					feature.geometry = drawGeometryArgs.feature.geometry;			        //feature.style = style;					modifyvectorLayer.addFeatures(feature);										if(nowModifyFeature){						gis.script.editgisFeatureService(nowModifyFeature,feature);						return;					}										if(data.gisLayerinfoAttrKey){						var features = {	                            fieldNames:[data.gisLayerinfoAttrKey],	                            fieldValues:[parameterMap.id],	                            geometry:geometry	                        };						var editFeatureParameter = new SuperMap.REST.EditFeaturesParameters({		                    features: [features],		                    editType: SuperMap.REST.EditType.ADD,		                    returnContent:false		                });												if(data.url&&data.datasetNames&&data.datasetNames.length==1){			                	var dnames=data.datasetNames[0].split(":");			                	if(dnames&&dnames.length==2){			                		//console.log("dnames",dnames);			                		var url=data.url+"/datasources/"+dnames[0]+"/datasets/"+dnames[1];			                		var editFeatureService = new SuperMap.REST.EditFeaturesService(url, {			                            eventListeners: {			                                "processCompleted": function(editFeaturesEventArgs) {					                        	gis.script.updateFeaturesProcessCompleted(editFeaturesEventArgs,feature);					                        },			                                "processFailed": gis.script.sqlProcessFailed			                            }			                        });			                        editFeatureService.processAsync(editFeatureParameter);			                	}						 }					}															break;				}			}		}	}}var delFeature;gis.edit.delFeatureCompleted = function(delFeature){	$.confirm({		title : '确认框',		content : '确认删除区域吗',		confirm : function() {			if(event){				nowModifyFeature = null;				if(locationLayer){					locationLayer.removeAllFeatures();				}				if(modifyvectorLayer){						modifyvectorLayer.removeAllFeatures();					}				if(multiPolygonArrayAdd&&multiPolygonArrayAdd.length>0){					multiPolygonArrayAdd=[];				}				if(editFeature ){					editFeature=null;				}				if(addLineFeature){					addLineFeature= null;				}				//modifyvectorLayer.refresh();			//	gis.edit.delFeatureCompletedService(feature);			//	delFeature = feature;			//	gis.edit.submitToService();			}		},		cancel: function(){			//modifyvectorLayer.removeAllFeatures();		}	});}gis.edit.delFeatureCompletedService = function(feature){	if(feature){		//console.log(feature);		if(feature.attributes&&!gis.script.isBlank(feature.attributes.featureidval)){			if(dataServices){				gis.script.consolelog('dataServices',dataServices);				for(var n in dataServices){					var data=gisConfigBean.dataconfig[n];					var type=editmap[parameterMap.editType];					if(data&&type==data.gisLayerinfoKey){						data=jQuery.extend(true, {}, data);						data.datasetNames=data.datasetNames.split(",");						data.fields=data.fields.split(",");						data.url=data.url||defdataUrl;												var editFeatureParameter = new SuperMap.REST.EditFeaturesParameters({	                        IDs: [feature.attributes.featureidval],	                        editType: SuperMap.REST.EditType.DELETE	                    });												if(data.url&&data.datasetNames&&data.datasetNames.length==1){		                	var dnames=data.datasetNames[0].split(":");		                	if(dnames&&dnames.length==2){		                		//console.log("dnames",dnames);		                		var url=data.url+"/datasources/"+dnames[0]+"/datasets/"+dnames[1];								var editFeatureService = new SuperMap.REST.EditFeaturesService(url, {			                        eventListeners: {			                            "processCompleted": function(editFeaturesEventArgs) {				                        	gis.script.updateFeaturesProcessCompleted(editFeaturesEventArgs,null);				                        },			                            "processFailed": gis.script.sqlProcessFailed			                        }			                    });								//console.log(editFeatureParameter);								editFeatureService.processAsync(editFeatureParameter);		                	}						}																														break;					}				}			}		}	}}gis.edit.syncDataLayerMorefromid = function(dataObj){	if(dataObj&&typeof(dataObj)=='object'){		gis.script.jsonAjax({url:contextPath+"/editgis/idtozyid.html",contentType:'application/json;charset=utf-8',async:true,data:JSON.stringify({data:dataObj,status:'2'})},				function(data){			console.log(data);			console.log({gq:[4,5,6,7,8]});		});			}}gis.edit.syncDataLayerMore = function(dataObj){	moreSyncData=dataObj;	moreSyncResult={moreSyncEnd:false};	gis.edit.syncDataLayerMoreFun();}gis.edit.syncDataLayerMoreFun = function(){	if(moreSyncData){		//console.log(moreSyncData);		if(dataServices){			//console.log(dataServices);			for(var n in dataServices){				var data=gisConfigBean.dataconfig[n];				for(var k in moreSyncData){										if(data.gisLayerinfoKey&&data.gisLayerinfoKey==editmap[k]){						//console.log(data);												var args=moreSyncData[k];						if(args&&args.length){							//console.log("1.",JSON.stringify(moreSyncData));							var dataTemp=jQuery.extend(true, {}, data);							var argsLength=args.length;							var zyID=args.shift(0,1);														if(dataTemp.Model&&dataTemp.Model[gis.script.modelid]&&gis.script.isNum(zyID)){																	var model=dataTemp.Model[gis.script.modelid];								dataTemp.datasetNames=dataTemp.datasetNames.split(",");								dataTemp.fields=dataTemp.fields.split(",");								dataTemp.cachedata=model.cachedata||dataTemp.cachedata;								dataTemp.zoom=model.zoom||dataTemp.zoom;								dataTemp.processCompleted=model.processCompleted;								dataTemp.onSelectOpenPopkey=model.onSelectOpenPopkey;								dataTemp.treelocationHighlight=model.treelocationHighlight||"false";								dataTemp.modelObj=model;								dataTemp.url=dataTemp.url||defdataUrl;								dataTemp.attributeFilter=dataTemp.gisLayerinfoAttrKey+"="+zyID;								dataTemp.moreDataLayerSync=true;								dataTemp.parameterMapSync={id:zyID,editType:k,moreDataLayerSyncNoAsync:true};																//console.log("2.",JSON.stringify(moreSyncData));								if(argsLength>args.length){									//console.log("-->",dataTemp);									gis.edit.syncDataLayerSourcesService(dataTemp,parameterMap);									return;								}															}												}																			}				}			}		}	}	}gis.edit.syncDataLayerMoreAsync = function(dataObj){	if(dataObj){		//console.log(dataObj);		if(dataServices){			//console.log(dataServices);			for(var n in dataServices){				var data=gisConfigBean.dataconfig[n];				for(var k in dataObj){										if(data.gisLayerinfoKey&&data.gisLayerinfoKey==editmap[k]){						//console.log(data);												var args=dataObj[k];						if(args&&args.length){							//console.log(args);							for(var j=0;j<args.length;j++){								//console.log(">>>."+args[j],data);								var dataTemp=jQuery.extend(true, {}, data);																if(dataTemp.Model&&dataTemp.Model[gis.script.modelid]&&gis.script.isNum(args[j])){																		var model=dataTemp.Model[gis.script.modelid];									dataTemp.datasetNames=dataTemp.datasetNames.split(",");									dataTemp.fields=dataTemp.fields.split(",");									dataTemp.cachedata=model.cachedata||dataTemp.cachedata;									dataTemp.zoom=model.zoom||dataTemp.zoom;									dataTemp.processCompleted=model.processCompleted;									dataTemp.onSelectOpenPopkey=model.onSelectOpenPopkey;									dataTemp.treelocationHighlight=model.treelocationHighlight||"false";									dataTemp.modelObj=model;									dataTemp.url=dataTemp.url||defdataUrl;									dataTemp.attributeFilter=dataTemp.gisLayerinfoAttrKey+"="+args[j];									dataTemp.moreDataLayerSync=true;									dataTemp.parameterMapSync={id:args[j],editType:k};																		//console.log("-->",dataTemp);									gis.edit.syncDataLayerSourcesService(dataTemp,parameterMap);								}															}																			}													}				}			}		}	}}gis.edit.syncDataLayer = function(){	if(!gis.script.isBlank(parameterMap.editType)&&gis.script.isNum(parameterMap.id)){		var type=editmap[parameterMap.editType];		if(!gis.script.isBlank(type)){			if(dataServices){				for(var n in dataServices){					var data=gisConfigBean.dataconfig[n];					if(data.gisLayerinfoKey&&data.gisLayerinfoKey==type){						data=jQuery.extend(true, {}, data);						if(data.Model&&data.Model[gis.script.modelid]){																var model=data.Model[gis.script.modelid];							data.datasetNames=data.datasetNames.split(",");							data.fields=data.fields.split(",");							data.cachedata=model.cachedata||data.cachedata;							data.zoom=model.zoom||data.zoom;							data.processCompleted=model.processCompleted;							data.onSelectOpenPopkey=model.onSelectOpenPopkey;							data.treelocationHighlight=model.treelocationHighlight||"false";							data.modelObj=model;							data.url=data.url||defdataUrl;							data.attributeFilter=data.gisLayerinfoAttrKey+"="+parameterMap.id;																					gis.edit.syncDataLayerSourcesService(data,parameterMap);						}												break;					}				}			}					}	}}gis.edit.syncDataLayerTargetsService = function(data,sourcesfeature,objdata){	if(!data||!data.syncDatasetNames){		return;	}	var o=jQuery.extend(true, {}, data);	//syncdataUrl	o.url=syncdataUrl;	o.datasetNames=data.syncDatasetNames.split(",");	//alert(o.url);	var featureParam = new SuperMap.REST.FilterParameter({        //name: o.name,        fields:o.fields,        attributeFilter:o.attributeFilter    });	var featuresBySQLParams=new SuperMap.REST.GetFeaturesBySQLParameters({		//toIndex:65536,		toIndex:-1,		queryParameter:featureParam,		datasetNames:o.datasetNames	});		var featuresBySQLService = new SuperMap.REST.GetFeaturesBySQLService(o.url, { 	    eventListeners: { 	        "processCompleted":function(e){	        	gis.edit.progressdiv('show');	        		        	var editFeatureParameter;	        	var result=e.result;	        	//console.log('result>>',result);	        	var features=result.features;	        	var targetsfeature;	        	if(features&&features.length){	        		targetsfeature = features[0];	        	}	        		        	//console.log('sourcesfeature>>',sourcesfeature);	        	//console.log('targetsfeature>>',targetsfeature);	        	if(!sourcesfeature&&!targetsfeature){	        		//目标源和数据源多不存在地物,无需操作,提示同步完成	        		//gis.script.toastmessage({text:'同步完成'});	        		//gis.edit.progressdiv('none');	        		if(o&&o.moreDataLayerSync){	        			//editFeaturesEventArgs.result.resourceInfo.succeed                		gis.edit.syncFeaturesProcessCompletedMore({result:{resourceInfo:{succeed:true}}},o);                	}else{                		gis.script.toastmessage({text:'同步完成'});    	        		gis.edit.progressdiv('none');                	}	        		return;	        	}else if(!sourcesfeature){	        		//目标源存在地物,可是数据源不存在时,进行删除操作	        		//console.log('1.','目标源存在地物,可是数据源不存在时,进行删除操作');	        		if(!gis.script.isBlank(targetsfeature.fid)){		        		editFeatureParameter = new SuperMap.REST.EditFeaturesParameters({	                        IDs: [targetsfeature.fid],	                        editType: SuperMap.REST.EditType.DELETE	                    });		        		//console.log('editFeatureParameter>>',editFeatureParameter);	        				        		}	        	}else if(!targetsfeature){	        		//目标源存在地物,可是数据源存在时,进行新增操作	        		//console.log('2.','目标源存在地物,可是数据源存在时,进行新增操作');	        		if(sourcesfeature&&sourcesfeature.geometry){		        		var addfeatures = {	                            fieldNames:[data.gisLayerinfoAttrKey],	                            fieldValues:[parameterMap.id],	                            geometry:sourcesfeature.geometry	                        };		        		//console.log('addfeatures>>',addfeatures);	 						editFeatureParameter = new SuperMap.REST.EditFeaturesParameters({		                    features: [addfeatures],		                    editType: SuperMap.REST.EditType.ADD,		                    returnContent:false		                });	        		}	        	}else{	        		//目标源和数据源同时存在时,进行更新操作	        		//console.log('3.','目标源和数据源同时存在时,进行更新操作');	        		if(o.fields&&o.fields.length){	        			var attributes = feature.attributes;		                var attrNames = data.fields;		                var attrValues = [];		                for(var i=0;i<attrNames.length;i++){		                	//alert(attrNames[i]);		                	attrValues.push(attributes[attrNames[i]]);		                }		                if(sourcesfeature&&sourcesfeature.geometry		                		&&targetsfeature&&!gis.script.isBlank(targetsfeature.fid)){		                	var updatefeatures = {			                        fieldNames:attrNames,			                        fieldValues:attrValues,			                        geometry:sourcesfeature.geometry			                };		                			                	updatefeatures.geometry.id=targetsfeature.fid;		                	var editFeatureParameter = new SuperMap.REST.EditFeaturesParameters({			                    features: [updatefeatures],			                    editType: SuperMap.REST.EditType.UPDATE			                });		                			                	//console.log('updatefeatures.>>',updatefeatures);			                }	        		}	        	}	        		        	if(editFeatureParameter	        			&&o.url&&o.datasetNames&&o.datasetNames.length==1){                	var dnames=o.datasetNames[0].split(":");                	if(dnames&&dnames.length==2){                		//console.log("dnames",dnames);                		var url=o.url+"/datasources/"+dnames[0]+"/datasets/"+dnames[1];						var editFeatureService = new SuperMap.REST.EditFeaturesService(url, {	                        eventListeners: {	                            "processCompleted": function(editFeaturesEventArgs) {	                            	//console.log("oooo1:",o);	                            	//console.log("oooo2:",objdata);	                            	if(o&&o.moreDataLayerSync){	                            		gis.edit.syncFeaturesProcessCompletedMore(editFeaturesEventArgs,o);	                            	}else{	                            		gis.edit.syncFeaturesProcessCompleted(editFeaturesEventArgs);	                            	}	                            			                        },	                            "processFailed": gis.script.sqlProcessFailed	                        }	                    });						//console.log(">>>>",editFeatureParameter);						editFeatureService.processAsync(editFeatureParameter);                	}				}else{					gis.edit.progressdiv('none');				}	        		        },	        "processFailed": gis.script.sqlProcessFailed 	        } 	}); 	featuresBySQLService.processAsync(featuresBySQLParams); }gis.edit.syncDataLayerSourcesService = function(data,objdata){	var o=jQuery.extend(true, {}, data);	//测试时开放	//o.attributeFilter=o.gisLayerinfoAttrKey+"=92100111";		var featureParam = new SuperMap.REST.FilterParameter({        //name: o.name,        fields:o.fields,        attributeFilter:o.attributeFilter    });	var featuresBySQLParams=new SuperMap.REST.GetFeaturesBySQLParameters({		//toIndex:65536,		toIndex:-1,		queryParameter:featureParam,		datasetNames:o.datasetNames	});		var featuresBySQLService = new SuperMap.REST.GetFeaturesBySQLService(o.url, { 	    eventListeners: { 	        "processCompleted":function(e){	        	var result=e.result;	        	//console.log('result>>',result);	        	var features=result.features;	        	var sourcesfeature;	        	if(features&&features.length){	        		sourcesfeature = features[0];	        	}	        	gis.edit.syncDataLayerTargetsService(data,sourcesfeature,objdata);	        		        },	        "processFailed": gis.script.sqlProcessFailed 	        } 	}); 	featuresBySQLService.processAsync(featuresBySQLParams); 	}gis.edit.syncFeaturesProcessCompleted = function(editFeaturesEventArgs){	gis.edit.progressdiv('none');	if(editFeaturesEventArgs&&editFeaturesEventArgs.result.resourceInfo.succeed) {        //alert("更新地物成功");		gis.script.toastmessage({text:'同步地物成功。',type:'success'});	}else{		gis.script.toastmessage({text:'同步地物失败。',type:'warning'});	}		gis.edit.syncgisStatus({syncsucceed:editFeaturesEventArgs.result.resourceInfo.succeed});}gis.edit.syncFeaturesProcessCompletedMore = function(editFeaturesEventArgs,infoObj){	gis.edit.progressdiv('none');	//console.log(infoObj);	if(infoObj&&infoObj.parameterMapSync){		infoObj.parameterMapSync.syncsucceed=editFeaturesEventArgs.result.resourceInfo.succeed;		gis.edit.syncgisStatusMore(infoObj.parameterMapSync);	}		}gis.edit.syncgisStatusMore=function(obj){	if(obj){		//console.log(obj);return;		if(!gis.script.isBlank(obj.editType)&&gis.script.isNum(obj.id)){			var type=editmap[obj.editType];			if(!gis.script.isBlank(type)){				obj.tableName=type;				obj.zyid=obj.id+"";				//var objdata=JSON.stringify(jQuery.extend(true, obj, obj));				var objdata=JSON.stringify(obj);								/*				gis.script.jsonAjax({url:contextPath+"/editgis/syncgisStatus.html",async:true,data:obj},						function(data){									});				*/				//objdata=JSON.stringify({id:1});					if(!moreSyncResult.resule){					moreSyncResult.resule={};				}								//var resObj = moreSyncResult.resule[obj.editType+"_"+obj.id];				moreSyncResult.resule[obj.editType+"_"+obj.id]=obj;								gis.script.jsonAjax({url:contextPath+"/editgis/syncgisStatus.html",contentType:'application/json;charset=utf-8',async:true,data:objdata},						function(data){					console.log("syn:",objdata);					console.log("synResult:",data);					if(obj.moreDataLayerSyncNoAsync){						var isend=true;						for(var k in moreSyncData){							//console.log("::",moreSyncData[k]);							isend=isend&&(gis.script.isNotBlank(moreSyncData[k].length)?(moreSyncData[k].length>0?false:true):true);						}						//moreSyncEnd=isend;						moreSyncResult.moreSyncEnd=isend;						moreSyncResult.resule[obj.editType+"_"+obj.id]=data;						//console.log("isend:",isend);												gis.edit.syncDataLayerMoreFun();					}									});								}		}					}}gis.edit.syncgisStatus=function(obj){	if(obj){		if(!gis.script.isBlank(parameterMap.editType)&&gis.script.isNum(parameterMap.id)){			var type=editmap[parameterMap.editType];			if(!gis.script.isBlank(type)){				obj.tableName=type;				obj.zyid=parameterMap.id;				//var objdata=JSON.stringify(jQuery.extend(true, parameterMap, obj));				var objdata=JSON.stringify(obj);				/*				gis.script.jsonAjax({url:contextPath+"/editgis/syncgisStatus.html",async:true,data:obj},						function(data){									});				*/				//objdata=JSON.stringify({id:1});						gis.script.jsonAjax({url:contextPath+"/editgis/syncgisStatus.html",contentType:'application/json;charset=utf-8',async:true,data:objdata},						function(data){									});								}		}					}}gis.edit.progressdiv = function(v){	var progressdiv=document.getElementById("progressdiv");	if(progressdiv&&v){		if(v=='show'){			progressdiv.style.display="";		}else{			progressdiv.style.display="none";		}	}}$(document).ready(function() {		});
 |