CustomLayer.js
上传用户:gzuoyue
上传日期:2022-07-08
资源大小:177k
文件大小:19k
源码类别:

GIS编程

开发平台:

ASP/ASPX

  1. var mCustomLayer = new GmapIms();
  2. /**
  3.  * 装载活动图层个属性
  4.  */
  5. var CustomNum = 0;
  6. var LayerWorkSpace = new Array();
  7. var LayerDBName = new Array();
  8. var LayerList = new Array();
  9. var WorkSpaceList = new Array();
  10. var WorkSpaceName = new Array();
  11. var WorkSpaceType = new Array();
  12. //加载重复时使用
  13. var CustonmsLayerAddNum = 0;
  14. var CustonmsLayerBegin = new Array();
  15. var CustonmsLayerEnd = new Array();
  16. var CustonmsLayerString = new Array();
  17. var CustonmsLayerName = new Array();
  18. var CustonmsLayerID = new Array();
  19. var CustonmsLayerVisible = new Array();
  20. var CustonmsLayerType = new Array();
  21. var CustonmsLayerIsFeature = new Array();
  22. var CustonmsLayerExtent = new Array();
  23. var CustonmsLayerMinScale = new Array();
  24. var CustonmsLayerMaxScale = new Array();
  25. var CustonmsLayerRenderString = new Array();
  26. var CustonmsLayerShapeField = new Array();
  27. var CustonmsLayerIDField = new Array();
  28. var CustonmsLayerFieldList = new Array();
  29. var CustonmsLayerFieldTypeList = new Array();
  30. var CustonmsLayerFieldSizeList = new Array();
  31. var CustonmsLayerFieldPrecisionList = new Array();
  32. var CustonmsLayerFields = new Array();
  33. var CustonmsLayerFieldType = new Array();
  34. var CustonmsLayerFieldPrecision = new Array(); 
  35. var CustonmsWorkSpace = new Array();
  36. /**
  37.  * 清除全部动态图层
  38.  */
  39. function ClearCustonmsLayer(){
  40. CustonmsLayerAddNum = 0;
  41. CustonmsLayerBegin.length = 1;
  42. CustonmsLayerEnd.length = 1;
  43. CustonmsLayerString.length = 1;
  44. CustonmsLayerName.length = 1;
  45. CustonmsLayerID.length = 1;
  46. CustonmsLayerVisible.length = 1;
  47. CustonmsLayerType.length = 1;
  48. CustonmsLayerIsFeature.length = 1;
  49. CustonmsLayerExtent.length = 1;
  50. CustonmsLayerMinScale.length = 1;
  51. CustonmsLayerMaxScale.length = 1;
  52. CustonmsLayerRenderString.length = 1;
  53. CustonmsLayerShapeField.length = 1;
  54. CustonmsLayerIDField.length = 1;
  55. CustonmsLayerFieldList.length = 1;
  56. CustonmsLayerFieldTypeList.length = 1;
  57. CustonmsLayerFieldSizeList.length = 1;
  58. CustonmsLayerFieldPrecisionList.length = 1;
  59. CustonmsLayerFields.length = 1;
  60. CustonmsLayerFieldType.length = 1;
  61. CustonmsLayerFieldPrecision.length = 1; 
  62. }
  63. /**
  64.  * 保存工作区
  65.  */
  66. function setCustomWorkspace(LayerXmlString){
  67. var m_xml = new XMLHelper();
  68. var _id = WorkSpaceName.Length;
  69. m_xml.LoadXmlString(LayerXmlString);
  70. var nodeLength = m_xml.xmlHttp.getElementsByTagName('SHAPEWORKSPACE').length;
  71. for (var i=0;i<nodeLength;i++){
  72. var elDocRoot=m_xml.xmlHttp.getElementsByTagName('SHAPEWORKSPACE')[i];
  73. var __name = m_xml.getNodeAtt(elDocRoot.attributes,'name');
  74. if (!HasWorkNameSpace(__name)){
  75. WorkSpaceName[_id] = __name
  76. WorkSpaceList[_id] = elDocRoot.xml;
  77. WorkSpaceType[_id] = 'SHP';
  78. _id++;
  79. }
  80. }
  81. nodeLength = m_xml.xmlHttp.getElementsByTagName('IMAGEWORKSPACE').length;
  82. for (var i=0;i<nodeLength;i++){
  83. var elDocRoot=m_xml.xmlHttp.getElementsByTagName('IMAGEWORKSPACE')[i];
  84. var __name = m_xml.getNodeAtt(elDocRoot.attributes,'name');
  85. if (!HasWorkNameSpace(__name)){
  86. WorkSpaceName[_id] = __name
  87. WorkSpaceList[_id] = elDocRoot.xml;
  88. WorkSpaceType[_id] = 'IMAGE';
  89. _id++;
  90. }
  91. }
  92. nodeLength = m_xml.xmlHttp.getElementsByTagName('SDEWORKSPACE').length;
  93. for (var i=0;i<nodeLength;i++){
  94. var elDocRoot=m_xml.xmlHttp.getElementsByTagName('SDEWORKSPACE')[i];
  95. var __name = m_xml.getNodeAtt(elDocRoot.attributes,'name');
  96. if (!HasWorkNameSpace(__name)){
  97. WorkSpaceName[_id] = __name
  98. WorkSpaceList[_id] = elDocRoot.xml;
  99. WorkSpaceType[_id] = 'SDE';
  100. }
  101. }
  102. }
  103. /**
  104.  * 判断工作区名是否存在
  105.  */
  106. function HasWorkNameSpace(newName){
  107. var has = false;
  108. for (var i=0;i<WorkSpaceName.length;i++){
  109. if (newName.toUpperCase()==WorkSpaceName[i].toUpperCase()){
  110. has = true;
  111. }
  112. }
  113. return has;
  114. }
  115. var __Num = 0;//html专用
  116. var __CustonArr = new Array();
  117. /**
  118.  * 设置动态图层的字段
  119.  */
  120. function setCustomLayerFieldsend(theReply){
  121. // alert('setCustomLayerFieldsend:n'+theReply);
  122. var LayerId = __CustonArr[__Num];
  123. var tmp = theReply;
  124. //alert(__CustonArr.join(':')+'n'+__Num+'n'+LayerId);
  125. var pos = tmp.indexOf('<FIELDS');
  126. var endpos = tmp.indexOf('</FEATURE>');
  127. LayerFieldList[LayerId] = '';
  128. LayerFieldTypeList[LayerId] = '';
  129. LayerFieldSizeList[LayerId] = '';
  130. LayerFieldPrecisionList[LayerId] = '';
  131. LayerShapeField[LayerId] = '';
  132. if (pos>-1){
  133. tmp = tmp.substring(pos+7,endpos-4);
  134. var Filed = new Array();
  135. var tmpString = '';
  136. Filed = tmp.split(' ');
  137. for (var i=1;i<Filed.length;i++){
  138. var tmpStr = new Array();
  139. tmpStr = Filed[i].split('=');
  140. if (tmpStr[0]!=''){
  141. LayerFieldList[LayerId] += tmpStr[0]+',';
  142. LayerFieldTypeList[LayerId] += "12,";
  143. LayerFieldSizeList[LayerId] += "0,";
  144. LayerFieldPrecisionList[LayerId] += "0,";
  145. }
  146. }
  147. }else{
  148. LayerFieldList[LayerId] += ',';
  149. LayerFieldTypeList[LayerId] += ",";
  150. LayerFieldSizeList[LayerId] += "0,";
  151. LayerFieldPrecisionList[LayerId] += "0,";
  152. }
  153. LayerShapeField[LayerId] = "#SHAPE#";
  154. LayerIDField[LayerId] = "#ID#";
  155. layerCount++;
  156. __Num++;
  157. setCustomLayerFieldList(__Num);
  158. // alert(LayerFieldList[LayerId]);
  159. }
  160. /**
  161.  * 处理动态图层的图层列表,主要利用查询返回动态图层中的字段。
  162.  */
  163. function setCustomLayerFieldList(id){
  164. //alert(id+'n'+__CustonArr.length)
  165. if (id<__CustonArr.length-1){
  166. // alert('run1');
  167. setCustomLayerFields(__CustonArr[id]);
  168. }else if(id==0){
  169. // alert('run2');
  170. setCustomLayerFields(__CustonArr[id]);
  171. }else{
  172. // alert('run3');
  173. __Num = 0;
  174. __CustonArr.length = 0;
  175. saveCustonmsLayerAtt();
  176. refreshToc();
  177. }
  178. }
  179. /**
  180.  * 返回动态图层的图层字段
  181.  */
  182. function setCustomLayerFields(LayerId){
  183. var tmp='<ARCXML version="1.1"><REQUEST><GET_FEATURES outputmode="xml" geometry="false" envelope="false" checkesc ="false" featurelimit="1" beginrecord="2">';
  184. tmp += getCustonmsWorkSpace();
  185. tmp += LayerList[LayerId];
  186. tmp += '<SPATIALQUERY subfields="#ALL#"/></GET_FEATURES></REQUEST></ARCXML>';
  187. sendToServer(imsQueryURL,tmp,1001);
  188. //tmp = mMapServer.setArcXml(tmp,0).value;//setCustomLayerFieldsend
  189. }
  190. /**
  191.  * 添加动态图层各层数据
  192.  */
  193. function setCustomlayer(LayerXmlString){
  194. //保存工作区
  195. setCustomWorkspace(LayerXmlString);
  196. setCustonmsWorkSpace(LayerXmlString);
  197. var m_xml = new XMLHelper();
  198. var _Tmp = '';
  199. m_xml.LoadXmlString(LayerXmlString);
  200. var id = LayerName.length-1;
  201. //var id = mCustomLayer.CustonmsStartId-1;
  202. var nodeLength = m_xml.xmlHttp.getElementsByTagName('LAYER').length;
  203.      var sAttstring = '';
  204.      for (var i=0;i<nodeLength;i++){
  205.      id++;
  206.      CustomNum++;
  207.      var elDocRoot=m_xml.xmlHttp.getElementsByTagName('LAYER')[i];
  208.      LayerList[id] = elDocRoot.xml;
  209. if (elDocRoot){
  210. var attrs = elDocRoot.attributes;
  211. var type = attrs.getNamedItem('type').value;
  212. type = type.toUpperCase();
  213. switch(type){
  214. case 'IMAGE':
  215. var attrs = elDocRoot.attributes;
  216. LayerName[id] = m_xml.getNodeAtt(attrs,'name');
  217. LayerID[id] = m_xml.getNodeAtt(attrs,'id');
  218. if (m_xml.getNodeAtt(attrs,'visible')=='true'){
  219. LayerVisible[id] = 1;
  220. }else{
  221. LayerVisible[id] = 0;
  222. }
  223. LayerType[id] = 'image';
  224. LayerIsFeature[id]=false;
  225. break;
  226. case 'FEATURECLASS':
  227. var attrs = elDocRoot.attributes;
  228. LayerName[id] = m_xml.getNodeAtt(attrs,'name');
  229. LayerID[id] = m_xml.getNodeAtt(attrs,'id');
  230. LayerIsFeature[id]=true;
  231. if (m_xml.getNodeAtt(attrs,'visible')=='true'){
  232. LayerVisible[id] = 1;
  233. }else{
  234. LayerVisible[id] = 0;
  235. }
  236. var DataSet = elDocRoot.childNodes[0];
  237. LayerType[id] = m_xml.getNodeAtt(DataSet.attributes,'type');
  238. // alert(LayerType[id]);
  239. LayerWorkSpace[id] = m_xml.getNodeAtt(DataSet.attributes,'workspace');
  240. LayerDBName[id] = m_xml.getNodeAtt(DataSet.attributes,'name');
  241. _Tmp = m_xml.getNodeAtt(attrs,'minscale');
  242. if (_Tmp=='') {
  243. LayerMinScale[id] = 0;
  244. }else{
  245. LayerMinScale[id] = parseFloat(_Tmp);
  246. }
  247. _Tmp = m_xml.getNodeAtt(attrs,'maxscale');
  248. if (_Tmp=='') {
  249. LayerMaxScale[id] = 1.7976931348623157E308;
  250. }else{
  251.     LayerMaxScale[id] = parseFloat(_Tmp);
  252. }
  253. __CustonArr[__CustonArr.length] = id;
  254. //setCustomLayerFields(id);
  255. break;
  256. }
  257. }
  258.      }
  259.     // alert(LayerXmlString+'nn'+LayerType.join('n'))
  260.      if (debugOn>=3)alert(LayerName);
  261.      if (__CustonArr.length!=0){
  262.      setCustomLayerFieldList(0);
  263.      }
  264. }
  265. /**
  266.  * 保存动态图层组到参数
  267.  */
  268. function saveCustonmsLayerAtt(){
  269. // alert(LayerName.join('n'));
  270. CustonmsLayerString[CustonmsLayerAddNum] = mCustomLayer.getCustomLayerString();
  271. var id = 0;
  272. if (CustonmsLayerName.length!=0){
  273. id = CustonmsLayerName.length;
  274. }
  275. CustonmsLayerBegin[CustonmsLayerAddNum] = id;
  276. for (var ids=mCustomLayer.CustonmsStartId;ids<LayerName.length;ids++){
  277. CustonmsLayerName[id] = LayerName[ids];
  278. CustonmsLayerID[id] = LayerID[ids];
  279. CustonmsLayerVisible[id] = LayerVisible[ids];
  280. CustonmsLayerType[id] = LayerType[ids];
  281. CustonmsLayerIsFeature[id] = LayerIsFeature[ids];
  282. CustonmsLayerExtent[id] = LayerExtent[ids];
  283. CustonmsLayerMinScale[id] = LayerMinScale[ids];
  284. CustonmsLayerMaxScale[id] = LayerMaxScale[ids];
  285. CustonmsLayerRenderString[id] = LayerRenderString[ids];
  286. CustonmsLayerShapeField[id] = LayerShapeField[ids];
  287. CustonmsLayerIDField[id] = LayerIDField[ids];
  288. CustonmsLayerFieldList[id] = LayerFieldList[ids];
  289. CustonmsLayerFieldTypeList[id] = LayerFieldTypeList[ids];
  290. CustonmsLayerFieldSizeList[id] = LayerFieldSizeList[ids];
  291. CustonmsLayerFieldPrecisionList[id] = LayerFieldPrecisionList[ids];
  292. CustonmsLayerFields[id] = LayerFields[ids];
  293. CustonmsLayerFieldType[id] = LayerFieldType[ids];
  294. CustonmsLayerFieldPrecision[id] = LayerFieldPrecision[ids];
  295. id++;
  296. }
  297. CustonmsLayerEnd[CustonmsLayerAddNum] = id-1;
  298. CustonmsLayerAddNum++;
  299. mCustomLayer.CustonmsStartId = LayerName.length;
  300. //alert(CustonmsLayerBegin.join(':')+'n'+CustonmsLayerEnd.join(':')+'nn'+CustonmsLayerName.join(':'));
  301. }
  302. /**
  303.  * 删除动态图层组
  304.  */
  305. function DelCustonmsLayerGroup(GroupId){
  306. if ((CustonmsLayerAddNum==0)||(GroupId>=CustonmsLayerAddNum)){
  307. alert('错误的序号在程序中');
  308. }else{
  309. var _beginPos = CustonmsLayerBegin[GroupId];
  310. var _InfoPos = serverLayerCount  + _beginPos;
  311. var _endPos = CustonmsLayerEnd[GroupId];
  312. var _diff = _beginPos - _endPos;
  313. //alert(_beginPos+'n'+_InfoPos+'n'+_endPos+'n'+_diff);
  314. for(var i=_beginPos;i<=_endPos;i++){
  315. ClearCustonmsLayer(_beginPos);
  316. ClearLayerInformation(_InfoPos);
  317. }
  318. CustonmsLayerAddNum--;
  319. CustonmsLayerEnd[GroupId] = _beginPos - _diff;
  320. CustonmsLayerBegin[GroupId] = _endPos - _diff;
  321. if (CustonmsLayerAddNum==0){
  322. mCustomLayer.setCustomLayerString('');
  323. mCustomLayer.bCustomLayer = false;
  324. }else{
  325. mCustomLayer.setCustomLayerString(CustonmsLayerString[CustonmsLayerAddNum]);
  326. mCustomLayer.setCustomLayer('<Table>'+mCustomLayer.getCustomLayerString()+'</Table>');
  327. }
  328. refreshToc();
  329. }
  330. }
  331. function refreshToc(){
  332. LayerListOpen=false;
  333. parent.TOCFrame.document.location=appDir+"toc.htm";
  334. //alert(LayerName.join('n'));
  335. sendMapXML();
  336. }
  337. /**
  338.  * 删除动态图层对应的图层参数
  339.  */
  340. function ClearLayerInformation(DelId){
  341. for (var id=DelId;id<LayerName.length-1;id++){
  342. var ids = id + 1;
  343. LayerName[id] = LayerName[ids];
  344. LayerID[id] = LayerID[ids];
  345. LayerVisible[id] = LayerVisible[ids];
  346. LayerType[id] = LayerType[ids];
  347. LayerIsFeature[id] = LayerIsFeature[ids];
  348. LayerExtent[id] = LayerExtent[ids];
  349. LayerMinScale[id] = LayerMinScale[ids];
  350. LayerMaxScale[id] = LayerMaxScale[ids];
  351. LayerRenderString[id] = LayerRenderString[ids];
  352. LayerShapeField[id] = LayerShapeField[ids];
  353. LayerIDField[id] = LayerIDField[ids];
  354. LayerFieldList[id] = LayerFieldList[ids];
  355. LayerFieldTypeList[id] = LayerFieldTypeList[ids];
  356. LayerFieldSizeList[id] = LayerFieldSizeList[ids];
  357. LayerFieldPrecisionList[id] = LayerFieldPrecisionList[ids];
  358. LayerFields[id] = LayerFields[ids];
  359. LayerFieldType[id] = LayerFieldType[ids];
  360. LayerFieldPrecision[id] = LayerFieldPrecision[ids];
  361. }
  362. layerCount--;
  363. var newLength = LayerName.length-1;
  364. LayerName.length = newLength;
  365. LayerID.length = newLength;
  366. LayerVisible.length = newLength;
  367. LayerType.length = newLength;
  368. LayerIsFeature.length = newLength;
  369. LayerExtent.length = newLength;
  370. LayerMinScale.length = newLength;
  371. LayerMaxScale.length = newLength;
  372. LayerRenderString.length = newLength;
  373. LayerShapeField.length = newLength;
  374. LayerIDField.length = newLength;
  375. LayerFieldList.length = newLength;
  376. LayerFieldTypeList.length = newLength;
  377. LayerFieldSizeList.length = newLength;
  378. LayerFieldPrecisionList.length = newLength;
  379. LayerFields.length = newLength;
  380. LayerFieldType.length = newLength;
  381. LayerFieldPrecision.length = newLength;
  382. }
  383. /**
  384.  * 删除动态图层
  385.  */
  386. function ClearCustonmsLayer(DelId){
  387. for (var id=DelId;id<CustonmsLayerName.length-1;id++){
  388. ids = id + 1;
  389. CustonmsLayerName[id] = CustonmsLayerName[ids];
  390. CustonmsLayerID[id] = CustonmsLayerID[ids];
  391. CustonmsLayerVisible[id] = CustonmsLayerVisible[ids];
  392. CustonmsLayerType[id] = CustonmsLayerType[ids];
  393. CustonmsLayerIsFeature[id] = CustonmsLayerIsFeature[ids];
  394. CustonmsLayerExtent[id] = CustonmsLayerExtent[ids];
  395. CustonmsLayerMinScale[id] = CustonmsLayerMinScale[ids];
  396. CustonmsLayerMaxScale[id] = CustonmsLayerMaxScale[ids];
  397. CustonmsLayerRenderString[id] = CustonmsLayerRenderString[ids];
  398. CustonmsLayerShapeField[id] = CustonmsLayerShapeField[ids];
  399. CustonmsLayerIDField[id] = CustonmsLayerIDField[ids];
  400. CustonmsLayerFieldList[id] = CustonmsLayerFieldList[ids];
  401. CustonmsLayerFieldTypeList[id] = CustonmsLayerFieldTypeList[ids];
  402. CustonmsLayerFieldSizeList[id] = CustonmsLayerFieldSizeList[ids];
  403. CustonmsLayerFieldPrecisionList[id] = CustonmsLayerFieldPrecisionList[ids];
  404. CustonmsLayerFields[id] = CustonmsLayerFields[ids];
  405. CustonmsLayerFieldType[id] = CustonmsLayerFieldType[ids];
  406. CustonmsLayerFieldPrecision[id] = CustonmsLayerFieldPrecision[ids];
  407. }
  408. var newLength = CustonmsLayerName.length-1;
  409. CustonmsLayerName.length = newLength;
  410. CustonmsLayerID.length = newLength;
  411. CustonmsLayerVisible.length = newLength;
  412. CustonmsLayerType.length = newLength;
  413. CustonmsLayerIsFeature.length = newLength;
  414. CustonmsLayerExtent.length = newLength;
  415. CustonmsLayerMinScale.length = newLength;
  416. CustonmsLayerMaxScale.length = newLength;
  417. CustonmsLayerRenderString.length = newLength;
  418. CustonmsLayerShapeField.length = newLength;
  419. CustonmsLayerIDField.length = newLength;
  420. CustonmsLayerFieldList.length = newLength;
  421. CustonmsLayerFieldTypeList.length = newLength;
  422. CustonmsLayerFieldSizeList.length = newLength;
  423. CustonmsLayerFieldPrecisionList.length = newLength;
  424. CustonmsLayerFields.length = newLength;
  425. CustonmsLayerFieldType.length = newLength;
  426. CustonmsLayerFieldPrecision.length = newLength;
  427. }
  428. /**
  429.  * 加载自定义地图属性
  430.  */
  431. function setCustomlayerAttribute(){
  432. var _Xmling = mCustomLayer.getCustomLayer();
  433. if (_Xmling!=''){
  434. aimsCustomPresent = true;
  435. mCustomLayer.bCustomLayer = true;
  436. setCustomlayer(_Xmling);
  437. }else{
  438. aimsCustomPresent = false;
  439. mCustomLayer.bCustomLayer = false;
  440. }
  441. }
  442. /**
  443.  * 加载应用图层并显示
  444.  */
  445. var CustomLayerGroup;
  446. var TocrootLength = -1;
  447. function setProApplyIng(appId){
  448. //alert(appId);
  449. mCustomLayer.setProApply(appId)
  450. mCustomLayer.getMapCustomLayer(mCustomLayer.getProApply(),0);//根据应用返回图层
  451. //alert(mCustomLayer.getCustomLayer())
  452. //alert(mCustomLayer.CustonmsStartId+'n'+LayerName.length)
  453. if (mCustomLayer.CustonmsStartId==LayerName.length){
  454. setCustomlayerAttribute();
  455. /*
  456. if (hasOVMap){
  457. TocrootLength = toc.root.items.length;
  458. CustomLayerGroup = toc.addGroup( new GROUP('自定义图层',false,'icon_groupvl.gif'));
  459. //renwen.addLayer( new LAYER('cities','城市','swatch_museums.gif','','标签') );
  460. for (var i=mCustomLayer.CustonmsStartId;i<LayerName.length;i++){
  461. CustomLayerGroup.addLayer( new LAYER(LayerName[i],LayerName[i],'swatch_museums.gif','','') );
  462. }
  463. }
  464. */
  465. }else{
  466. //在这里删除目录树枝叶
  467. }
  468. /*
  469. if (hasOVMap){
  470. toc.root.init();
  471. }
  472. */
  473. sendMapXML();
  474. }
  475. function CustonInit(){
  476. if (TocrootLength>0){
  477. toc.root.items.length = TocrootLength;
  478. }
  479. CustomLayerGroup = null;
  480. LayerName.length = serverLayerCount;
  481. //alert(LayerName.join('n'));
  482. }
  483. /** 
  484.  * 保存工作区
  485.  */
  486. function setCustonmsWorkSpace(LayerXmlString){
  487. var _value = LayerXmlString;
  488. var pos = _value.indexOf('<WORKSPACES>');
  489. var endpos = _value.indexOf('</WORKSPACES>');
  490. if (pos>-1){
  491. _value = _value.substring(pos+13,endpos-1);
  492. }
  493. if (!HasWorkSpaceString(_value)){
  494. CustonmsWorkSpace[CustonmsWorkSpace.length] = _value;
  495. }
  496. }
  497. /** 
  498.  * 返回工作区
  499.  */
  500. function getCustonmsWorkSpace(){
  501. var ij = -1;
  502. var sArr = new Array();
  503. sArr[++ij] = '<WORKSPACES>';
  504. for (var i=0;i<CustonmsWorkSpace.length;i++){
  505. sArr[++ij] = CustonmsWorkSpace[i];
  506. }
  507. sArr[++ij] = '</WORKSPACES>';
  508. return sArr.join('n');
  509. }
  510. /**
  511.  * 返回图层
  512.  */
  513. function getCustonmsLayerList(LayerXmlString){
  514. var _value = LayerXmlString;
  515. var pos = _value.indexOf('</WORKSPACES>');
  516. var endpos = _value.indexOf('</Table>');
  517. if (endpos==-1){
  518. endpos = _value.length;
  519. }
  520. if (pos>-1){
  521. _value = _value.substring(pos+13,endpos);
  522. }
  523. return _value;
  524. }
  525. /**
  526.  * 判断工作区重复性
  527.  */
  528. function HasWorkSpaceString(newName){
  529. var has = false;
  530. for (var i=0;i<CustonmsWorkSpace.length;i++){
  531. if (newName.toUpperCase()==CustonmsWorkSpace[i].toUpperCase()){
  532. has = true;
  533. }
  534. }
  535. return has;
  536. }
  537. //=========================================================================================
  538. var WorkSpaceList = new Array();
  539. WorkSpaceList[0] = new Array();
  540. WorkSpaceList[0][0] = '<WORKSPACES>';
  541. WorkSpaceList[0][1] = '<SHAPEWORKSPACE directory="C:\ArcIMS\AXL\World" name="sde-IUY-0" />';
  542. WorkSpaceList[0][2] = '</WORKSPACES>';
  543. WorkSpaceList[0][3] = '<LAYER type="featureclass" name="TEST Layer1" visible="true" id="200"><DATASET name="cities" workspace="sde-IUY-0" type="point"/><SIMPLERENDERER><SIMPLEMARKERSYMBOL color="255,51,0" type="star" width="15" /></SIMPLERENDERER></LAYER>';
  544. WorkSpaceList[1] = new Array();
  545. WorkSpaceList[1][0] = '<WORKSPACES>';
  546. WorkSpaceList[1][1] = '<SHAPEWORKSPACE directory="C:\ArcIMS\AXL" name="sde-IUY-1" />';
  547. WorkSpaceList[1][2] = '</WORKSPACES>';
  548. WorkSpaceList[1][3] = '<LAYER type="featureclass" name="TEST Layer2" visible="true" id="201"><DATASET name="cities" workspace="sde-IUY-1" type="point"/><SIMPLERENDERER><SIMPLEMARKERSYMBOL color="255,51,0" type="star" width="15" /></SIMPLERENDERER></LAYER>';
  549. var ___POs = 0;
  550. function CuRun(){
  551. mCustomLayer.setCustomLayerString(WorkSpaceList[___POs].join('n'));
  552. mCustomLayer.setCustomLayer('<Table>'+mCustomLayer.getCustomLayerString()+'</Table>');
  553. setCustomlayerAttribute();
  554. ___POs++;
  555. if (___POs==2){
  556. ___POs = 0;
  557. }
  558. }