PublicStyleFunction.js 63 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537
  1. var group = ["标号","解除锁定","对象可见性","常用:点", "主线", "衬线", "填充","注记", "子标号" ];
  2. var displayName =["锁定","可见性","LibID","Code"];
  3. var displayLineStyleName = [ "线宽", "线颜色","线型","线透明度" ];
  4. var displaySurroundLineName = ["衬线类型", "衬线宽", "衬线颜色", "衬线透明度"];
  5. var displayFillStyleName = ["填充", "填充色", "填充透明度","渐变填充方式","填充背景色","填充背景透明度","渐变填充角度","渐变填充水平偏移","渐变填充竖直偏移"];
  6. var displayNameDot = ["旋转角度", "随图缩放", "镜像", "标号级别","位置点偏移","偏移线类型","宽高锁定","标号Width", "标号Height"];
  7. var displayTextContentName =["注记内容", "注记位置", "注记大小", "注记颜色", "注记字体","注记距离",
  8. "字间距","字宽百分比","字体描边", "描边色", "描边宽度",
  9. "文字背景", "背景色", "文字阴影", "阴影色", "阴影偏移量X", "阴影偏移量Y"];
  10. var groupNew =["组合类型","箭头类型","沿线类型","边框属性","半径","轨道设置","节点设置","连线类型","折线设置"];
  11. var displayNameNew = ["箭头","箭身","箭尾",
  12. "起始","终止",
  13. "路径线","贝塞尔曲线","显示箭头","避让",
  14. "标注框边框","圆角边框","对象标注边框",
  15. "半径类型","半径角度","注记一","注记二",
  16. "卫星轨道",
  17. "节点类型","节点旋转角度",
  18. "对象间连线",
  19. "折线显示",
  20. "文字对齐方式"];
  21. function collectionPropertyGridRows(featuresParameter) {
  22. var features = [];
  23. var styles=[];
  24. for(var i=0;i<featuresParameter.length;i++){
  25. styles.push(featuresParameter[i].style);
  26. if(featuresParameter[i].geometry === undefined) {
  27. features.push(featuresParameter[i]);
  28. }else{
  29. features.push(featuresParameter[i].geometry);
  30. }
  31. }
  32. var rows = [];
  33. if(features.length === 0){
  34. return rows = [];
  35. }
  36. var dotSelectFeatures = [];
  37. var algoSelectFeatures = [];
  38. var sameFeatures = [];
  39. var otherFeatures = [];
  40. var selectfeatures = [];
  41. for(var i = 0; i < features.length; i++){
  42. if(features[i].libID === features[0].libID && features[i].code === features[0].code) {
  43. sameFeatures.push(features[i]);//是否是同一个标号
  44. }
  45. }
  46. if(sameFeatures.length !== features.length){
  47. for(var i = 0; i < features.length; i++){
  48. if(features[i].symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
  49. dotSelectFeatures.push(features[i]);//是否全是不同点标号
  50. } else if(features[i].symbolType === SuperMap.Plot.SymbolType.ALGOSYMBOL){
  51. algoSelectFeatures.push(features[i]); //是否全是不同线面标号
  52. } else {
  53. otherFeatures.push(features[i]);
  54. }
  55. }
  56. }
  57. if(sameFeatures.length === features.length){
  58. selectfeatures = features;
  59. } else if(dotSelectFeatures.length === features.length){
  60. selectfeatures = dotSelectFeatures;
  61. } else if(algoSelectFeatures.length === features.length){
  62. selectfeatures = algoSelectFeatures;
  63. } else if(dotSelectFeatures.length > 0 && algoSelectFeatures.length > 0 && otherFeatures.length === 0 ){
  64. selectfeatures = features;
  65. } else if(otherFeatures.length > 0){
  66. selectfeatures = features;
  67. }
  68. var selectfeature = selectfeatures[0];
  69. var styleObject = styles[0];
  70. if(selectfeatures.length === sameFeatures.length){
  71. rows = [
  72. { "name": "标号几何ID", "value":selectfeature.symbolType, "group": group[0] },
  73. { "name": "标号库ID", "value": selectfeature.libID, "group": group[0] },
  74. { "name": "标号Code", "value": selectfeature.code, "group": group[0] },
  75. { "name": "标号名字", "value": selectfeature.symbolName, "group": group[0]}
  76. ];
  77. }
  78. //标号锁定
  79. var lockedObj = new Object();
  80. lockedObj.group = group[1];
  81. lockedObj.name = displayName[0];
  82. lockedObj.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
  83. lockedObj.value = checkboxValueToString(selectfeature.getLocked());
  84. //标号可见性
  85. var visibilityObj = new Object();
  86. visibilityObj.group = group[2];
  87. visibilityObj.name = displayName[1];
  88. visibilityObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getDisplayRows()}};
  89. //visibilityObj.value = displayToString(selectfeature.style.display);
  90. visibilityObj.value = displayToString(styleObject.display);
  91. rows.push(lockedObj);
  92. if(selectfeature.getLocked()) {
  93. return rows;
  94. }
  95. rows.push(visibilityObj);
  96. if(selectfeatures.length===sameFeatures.length || selectfeatures.length===dotSelectFeatures.length ||selectfeatures.length===algoSelectFeatures.length) {
  97. rows = rows.concat(symbolPropertyObject(selectfeature,styleObject));
  98. }
  99. //addExtendProperty(rows,selectfeature);
  100. return rows;
  101. }
  102. function checkboxValueToString(checkboxValue){
  103. if(checkboxValue === true){
  104. return "true";
  105. } else if(checkboxValue === false){
  106. return "false";
  107. }
  108. }
  109. function fromCheckboxValue(checkboxStr){
  110. if(checkboxStr === "true"){
  111. return true;
  112. } else if(checkboxStr === "false"){
  113. return false;
  114. }
  115. }
  116. /***
  117. * 对象可见性
  118. */
  119. function getDisplayRows() {
  120. var rows = [];
  121. rows.push({"value": "display", "text": "显示"});
  122. rows.push({"value": "none", "text": "不显示"});
  123. return rows;
  124. }
  125. function displayToString(display) {
  126. if(display &&display === "none"){
  127. return "不显示";
  128. }
  129. return "显示";
  130. }
  131. /**
  132. * 8C使用线型
  133. */
  134. function get8CLineStyleRows() {
  135. var rows = [];
  136. rows.push({"value": "solid", "text": "solid"});
  137. rows.push({"value": "dot", "text": "dot"});
  138. rows.push({"value": "dash", "text": "dash"});
  139. rows.push({"value": "dashdot", "text": "dashdot"});
  140. rows.push({"value": "longdash", "text": "longdash"});
  141. rows.push({"value": "longdashdot", "text": "longdashdot"});
  142. return rows;
  143. }
  144. /**
  145. * 9D使用线型
  146. */
  147. function lineStyleToString(lineStyle) {
  148. if(lineStyle == 1)
  149. return "长虚线";
  150. else if(lineStyle == 2)
  151. return "由点构成的直线";
  152. else if(lineStyle == 3)
  153. return "由线划线段组成的直线";
  154. else if(lineStyle == 4)
  155. return "由重复的线划点图案构成的直线";
  156. else if(lineStyle == 0)
  157. return "实线";
  158. else if(lineStyle)
  159. return "实线";
  160. }
  161. function getLineStyleRows() {
  162. var rows = [];
  163. rows.push({"value": "0", "text": "实线"});//实线(solid)
  164. rows.push({"value": "1", "text": "长虚线"});//长虚线(longdash) //虚线(dash)
  165. rows.push({"value": "2", "text": "由点构成的直线"});//由点构成的直线(dot)
  166. rows.push({"value": "3", "text": "由线划线段组成的直线"});//由线划线段组成的直线(dashdot)(longdashdot)
  167. rows.push({"value": "4", "text": "由重复的线划点图案构成的直线"});//由重复的划线点图案构成的直线
  168. return rows;
  169. }
  170. /**
  171. *注记位置
  172. */
  173. function getAnnotationRows(geometry){
  174. var annotations = [];
  175. annotations.push({"value": "0", "text": "左上"});
  176. annotations.push({"value": "1", "text": "左下"});
  177. annotations.push({"value": "2", "text": "右上"});
  178. annotations.push({"value": "3", "text": "右下"});
  179. annotations.push({"value": "4", "text": "上"});
  180. annotations.push({"value": "5", "text": "下"});
  181. annotations.push({"value": "6", "text": "左"});
  182. annotations.push({"value": "7", "text": "右"});
  183. if(geometry.symbolData && geometry.symbolData.middleMarkExist)
  184. annotations.push({"value": "8", "text": "中间"});
  185. return annotations;
  186. }
  187. function annotationToString(annotation) {
  188. if(annotation === 0)
  189. return "左上";
  190. else if(annotation === 1)
  191. return "左下";
  192. else if(annotation === 2)
  193. return "右上";
  194. else if(annotation === 3)
  195. return "右下";
  196. else if(annotation === 4)
  197. return "上";
  198. else if(annotation === 5)
  199. return "下";
  200. else if(annotation === 6)
  201. return "左";
  202. else if(annotation === 7)
  203. return "右";
  204. else if(annotation === 8)
  205. return "中间";
  206. }
  207. /**
  208. * 标号级别
  209. */
  210. function symbolRankToString(symbolRank) {
  211. if(symbolRank == 0)
  212. return "无级别";
  213. else if(symbolRank == 1)
  214. return "军区级";
  215. else if(symbolRank == 2)
  216. return "副大军区级";
  217. else if(symbolRank == 3)
  218. return "集团军级";
  219. else if(symbolRank == 4)
  220. return "师级";
  221. else if(symbolRank == 5)
  222. return "旅级";
  223. else if(symbolRank == 6)
  224. return "团级";
  225. else if(symbolRank == 7)
  226. return "营级";
  227. else if(symbolRank == 8)
  228. return "连级";
  229. else if(symbolRank == 9)
  230. return "排级";
  231. }
  232. function getSymbolRankRows(geometry) {
  233. var symbolRanks = [];
  234. if(geometry.symbolData && geometry.symbolData.symbolRanks){
  235. symbolRanks = geometry.symbolData.symbolRanks;
  236. }
  237. var rows = [];
  238. rows.push({"value": "0", "text": "无级别"});
  239. for(var i = 0; i < symbolRanks.length; i++)
  240. {
  241. if(symbolRanks[i] == 1)
  242. rows.push({"value": "1", "text": "军区级"});
  243. else if(symbolRanks[i] == 2)
  244. rows.push({"value": "2", "text": "副大军区级"});
  245. else if(symbolRanks[i] == 3)
  246. rows.push({"value": "3", "text": "集团军级"});
  247. else if(symbolRanks[i] == 4)
  248. rows.push({"value": "4", "text": "师级"});
  249. else if(symbolRanks[i] == 5)
  250. rows.push({"value": "5", "text": "旅级"});
  251. else if(symbolRanks[i] == 6)
  252. rows.push({"value": "6", "text": "团级"});
  253. else if(symbolRanks[i] == 7)
  254. rows.push({"value": "7", "text": "营级"});
  255. else if(symbolRanks[i] == 8)
  256. rows.push({"value": "8", "text": "连级"});
  257. else if(symbolRanks[i] == 9)
  258. rows.push({"value": "9", "text": "排级"});
  259. }
  260. return rows;
  261. }
  262. /**
  263. * 衬线
  264. */
  265. function surroundLineTypeToString(symbolType, surroundLineType) {
  266. if(symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
  267. if(surroundLineType === 0)
  268. return "无衬线";
  269. else if(surroundLineType === 1)
  270. return "有衬线";
  271. } else {
  272. if(surroundLineType === 0)
  273. return "无衬线";
  274. else if(surroundLineType === 1)
  275. return "内侧衬线";
  276. else if(surroundLineType === 2)
  277. return "外侧衬线";
  278. else if(surroundLineType === 3)
  279. return "双侧衬线";
  280. }
  281. }
  282. function getSurroundLineTypeRows(symbolType) {
  283. var rows = [];
  284. if(symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
  285. rows.push({"value": "0", "text": "无衬线"});
  286. rows.push({"value": "1", "text": "有衬线"});
  287. } else {
  288. rows.push({"value": "0", "text": "无衬线"});
  289. rows.push({"value": "1", "text": "内侧衬线"});
  290. rows.push({"value": "2", "text": "外侧衬线"});
  291. rows.push({"value": "3", "text": "双侧衬线"});
  292. }
  293. return rows;
  294. }
  295. /**
  296. * 填充
  297. */
  298. function fillGradientModeToString(fillGradientMode) {
  299. if(fillGradientMode === "NONE"){
  300. return "无渐变";
  301. } else if(fillGradientMode === "LINEAR"){
  302. return "线性渐变";
  303. } else if(fillGradientMode === "RADIAL"){
  304. return "辐射渐变";
  305. } else {
  306. return "无渐变";
  307. }
  308. }
  309. function getFillGradientModeRows() {
  310. var rows = [];
  311. rows.push({"value": "NONE", "text": "无渐变"});
  312. rows.push({"value": "LINEAR", "text": "线性渐变"});
  313. rows.push({"value": "RADIAL", "text": "辐射渐变"});
  314. return rows;
  315. }
  316. function fillToString(fillSymbolID,selectfeature) {
  317. if(fillSymbolID === 0){
  318. return "实填充";
  319. } else if(fillSymbolID === 1){
  320. return "无填充";
  321. }
  322. if (selectfeature.symbolType !== SuperMap.Plot.SymbolType.SYMBOLTEXT) {
  323. if(fillSymbolID === 2){
  324. return "向上斜填充";
  325. } else if(fillSymbolID === 3){
  326. return "十字填充";
  327. } else if(fillSymbolID === 4){
  328. return "交叉填充";
  329. } else if(fillSymbolID === 5){
  330. return "反斜线填充";
  331. } else if(fillSymbolID === 6){
  332. return "水平填充";
  333. } else if(fillSymbolID === 7){
  334. return "竖直填充";
  335. }
  336. }
  337. }
  338. function getFillRows(selectfeature) {
  339. var rows = [];
  340. rows.push({"value": 0, "text": "实填充"});
  341. rows.push({"value": 1, "text": "无填充"});
  342. if (selectfeature.symbolType !== SuperMap.Plot.SymbolType.SYMBOLTEXT) {
  343. rows.push({"value": 2, "text": "向上斜填充"});
  344. rows.push({"value": 3, "text": "十字填充"});
  345. rows.push({"value": 4, "text": "交叉填充"});
  346. rows.push({"value": 5, "text": "反斜线填充"});
  347. rows.push({"value": 6, "text": "水平填充"});
  348. rows.push({"value": 7, "text": "竖直填充"});
  349. }
  350. return rows;
  351. }
  352. /**
  353. * 偏移线类型
  354. */
  355. function positionOffsetTypeToString(positionOffsetType) {
  356. if(positionOffsetType === 0){
  357. return "直线";
  358. } else if(positionOffsetType === 1){
  359. return "线粗渐变";
  360. }
  361. }
  362. function getPositionOffsetTypeRows() {
  363. var rows = [];
  364. rows.push({"value": "0", "text": "直线"});
  365. rows.push({"value": "1", "text": "线粗渐变"});
  366. return rows;
  367. }
  368. /**
  369. * 沿线注记
  370. */
  371. function getShowRows() {
  372. var rows = [];
  373. rows.push({"value": "true", "text": "显示"});
  374. rows.push({"value": "false", "text": "不显示"});
  375. return rows;
  376. }
  377. function showToString(show){
  378. if(show === true){
  379. return "显示";
  380. } else if(show === false){
  381. return "不显示";
  382. }
  383. }
  384. function relLineTextToString(relLineText) {
  385. if(relLineText === SuperMap.Plot.RelLineText.ONLINE)
  386. return "线上";
  387. else if(relLineText === SuperMap.Plot.RelLineText.ONLEFTLINE)
  388. return "线左";
  389. else if(relLineText === SuperMap.Plot.RelLineText.ONRIGHTLINE)
  390. return "线右";
  391. else if(relLineText === SuperMap.Plot.RelLineText.ONBOTHLINE)
  392. return "双侧";
  393. }
  394. function getRelLineTextRows(){
  395. var annotations = [];
  396. annotations.push({"value": "0", "text": "线上"});
  397. annotations.push({"value": "1", "text": "线左"});
  398. annotations.push({"value": "2", "text": "线右"});
  399. annotations.push({"value": "3", "text": "双侧"});
  400. return annotations;
  401. }
  402. /***
  403. * 对象间连线
  404. */
  405. function lineRelationTypeToString(lineRelationType) {
  406. if (lineRelationType == 0)
  407. return "实直线";
  408. else if (lineRelationType == 1)
  409. return "虚直线";
  410. else if (lineRelationType == 2)
  411. return "箭头线";
  412. }
  413. function getLineRelationTypeRows() {
  414. var rows = [];
  415. rows.push({"value": "0", "text": "实直线"});
  416. rows.push({"value": "1", "text": "虚直线"});
  417. rows.push({"value": "2", "text": "箭头线"});
  418. return rows;
  419. }
  420. /**
  421. * 航线节点类型
  422. */
  423. function routeNodeTypeToString(routeNodeType) {
  424. if (routeNodeType === SuperMap.Plot.RouteNodeType.AIMING)
  425. return "瞄准点";
  426. else if (routeNodeType == SuperMap.Plot.RouteNodeType.COMMONROUTE)
  427. return "普通航路点";
  428. else if (routeNodeType == SuperMap.Plot.RouteNodeType.EXPANDING)
  429. return "展开点";
  430. else if (routeNodeType == SuperMap.Plot.RouteNodeType.INITIAL)
  431. return "初始点";
  432. else if (routeNodeType == SuperMap.Plot.RouteNodeType.LANCH)
  433. return "发射点";
  434. else if (routeNodeType == SuperMap.Plot.RouteNodeType.RENDEZVOUS)
  435. return "会合点";
  436. else if (routeNodeType == SuperMap.Plot.RouteNodeType.STANDBY)
  437. return "待机点";
  438. else if (routeNodeType == SuperMap.Plot.RouteNodeType.SUPPLY)
  439. return "补给点";
  440. else if (routeNodeType == SuperMap.Plot.RouteNodeType.TAKEOFF)
  441. return "起飞点";
  442. else if (routeNodeType == SuperMap.Plot.RouteNodeType.TURNING)
  443. return "转弯点";
  444. else if (routeNodeType == SuperMap.Plot.RouteNodeType.VISUALINITAL)
  445. return "可视初始点";
  446. else if (routeNodeType == SuperMap.Plot.RouteNodeType.VOLLEY)
  447. return "齐射点";
  448. else if (routeNodeType == SuperMap.Plot.RouteNodeType.WEAPONLAUNCH)
  449. return "武器发射点";
  450. else if (routeNodeType == SuperMap.Plot.RouteNodeType.TARGET)
  451. return "目标点";
  452. else if (routeNodeType == SuperMap.Plot.RouteNodeType.ATTACK)
  453. return "攻击点";
  454. else if (routeNodeType == SuperMap.Plot.RouteNodeType.SUPPRESS)
  455. return "压制点";
  456. else if (routeNodeType == SuperMap.Plot.RouteNodeType.EIGHTSPIRAL)
  457. return "八字盘旋点";
  458. else if (routeNodeType == SuperMap.Plot.RouteNodeType.HAPPYVALLEY)
  459. return "跑马圈点";
  460. }
  461. function getRouteNodeTypeRows() {
  462. var rows = [];
  463. rows.push({"value": "AIMING", "text": "瞄准点"});
  464. rows.push({"value": "COMMONROUTE", "text": "普通航路点"});
  465. rows.push({"value": "EXPANDING", "text": "展开点"});
  466. rows.push({"value": "INITIAL", "text": "初始点"});
  467. rows.push({"value": "LANCH", "text": "发射点"});
  468. rows.push({"value": "RENDEZVOUS", "text": "会合点"});
  469. rows.push({"value": "STANDBY", "text": "待机点"});
  470. rows.push({"value": "SUPPLY", "text": "补给点"});
  471. rows.push({"value": "TAKEOFF", "text": "起飞点"});
  472. rows.push({"value": "TURNING", "text": "转弯点"});
  473. rows.push({"value": "VISUALINITAL", "text": "可视初始点"});
  474. rows.push({"value": "VOLLEY", "text": "齐射点"});
  475. rows.push({"value": "WEAPONLAUNCH", "text": "武器发射点"});
  476. rows.push({"value": "TARGET", "text": "目标点"});
  477. rows.push({"value": "ATTACK", "text": "攻击点"});
  478. rows.push({"value": "SUPPRESS", "text": "压制点"});
  479. rows.push({"value": "EIGHTSPIRAL", "text": "八字盘旋点"});
  480. rows.push({"value": "HAPPYVALLEY", "text": "跑马圈点"});
  481. return rows;
  482. }
  483. /**
  484. *箭头线
  485. */
  486. function arrowTypeToString(arrowType) {
  487. if (arrowType == 0)
  488. return "双线箭头";
  489. else if (arrowType == 1)
  490. return "实心三角形";
  491. else if (arrowType == 2)
  492. return "无箭头";
  493. }
  494. function getArrowTypeRows() {
  495. var rows = [];
  496. rows.push({"value": "0", "text": "双线箭头"});
  497. rows.push({"value": "1", "text": "实心三角形"});
  498. rows.push({"value": "2", "text": "无箭头"});
  499. return rows;
  500. }
  501. /**
  502. * 扇形区域
  503. */
  504. function radiusTypeToString(radiusType) {
  505. if (radiusType == 0)
  506. return "不显示";
  507. else if (radiusType == 1)
  508. return "直线";
  509. else if (radiusType == 2)
  510. return "箭头线";
  511. }
  512. function getRadiusTypeRows() {
  513. var rows = [];
  514. rows.push({"value": "0", "text": "不显示"});
  515. rows.push({"value": "1", "text": "直线"});
  516. rows.push({"value": "2", "text": "箭头线"});
  517. return rows;
  518. }
  519. /**
  520. * 标注框
  521. */
  522. function textBoxTypeToString(textBoxType) {
  523. if (textBoxType == 0)
  524. return "带角矩形边框";
  525. else if (textBoxType == 1)
  526. return "矩形边框";
  527. else if (textBoxType == 3)
  528. return "无边框";
  529. }
  530. function getTextBoxTypeRows() {
  531. var rows = [];
  532. rows.push({"value": "0", "text": "带角矩形边框"});
  533. rows.push({"value": "1", "text": "矩形边框"});
  534. rows.push({"value": "3", "text": "无边框"});
  535. return rows;
  536. }
  537. /**
  538. * 线型标注框
  539. */
  540. function lineMarkingTypeToString(lineMarkingType) {
  541. if(lineMarkingType === 1){
  542. return "矩形边框";
  543. } else if(lineMarkingType === 2){
  544. return "线型底边";
  545. }
  546. }
  547. function getLineMarkingTypeRows() {
  548. var rows = [];
  549. rows.push({"value": "1", "text": "矩形边框"});
  550. rows.push({"value": "2", "text": "线型底边"});
  551. return rows;
  552. }
  553. /**
  554. * 复合箭头
  555. * 箭头、箭身、箭尾
  556. */
  557. function getArrowHeadTypeRows() {
  558. var rows = [];
  559. rows.push({"value": "0", "text": "双线箭头"});
  560. rows.push({"value": "2", "text": "燕尾箭头"});
  561. rows.push({"value": "3", "text": "实心三角形"});
  562. rows.push({"value": "6", "text": "新燕尾箭头"});
  563. rows.push({"value": "-1", "text": "无箭头"});
  564. return rows;
  565. }
  566. function arrowHeadTypeToString(arrowHeadType) {
  567. if (arrowHeadType == 0)
  568. return "双线箭头";
  569. else if (arrowHeadType == 2)
  570. return "燕尾箭头";
  571. else if (arrowHeadType == 3)
  572. return "实心三角形";
  573. else if (arrowHeadType == 6)
  574. return "新燕尾箭头";
  575. else if (arrowHeadType == -1)
  576. return "无箭头";
  577. }
  578. function arrowBodyTypeToString(arrowBodyType) {
  579. if (arrowBodyType == 0)
  580. return "折线";
  581. else if (arrowBodyType == 1)
  582. return "贝塞尔曲线";
  583. else if (arrowBodyType == 5)
  584. return "新增箭身";
  585. }
  586. function getArrowBodyTypeRows() {
  587. var rows = [];
  588. rows.push({"value": "0", "text": "折线"});
  589. rows.push({"value": "1", "text": "贝塞尔曲线"});
  590. rows.push({"value": "5", "text": "新增箭身"});
  591. return rows;
  592. }
  593. function arrowTailTypeToString(arrowTailType) {
  594. if (arrowTailType == 0)
  595. return "无箭尾";
  596. else if (arrowTailType == 1)
  597. return "直线箭尾";
  598. else if (arrowTailType == 3)
  599. return "燕尾箭尾";
  600. }
  601. function getArrowTailTypeRows() {
  602. var rows = [];
  603. rows.push({"value": "0", "text": "无箭尾"});
  604. rows.push({"value": "1", "text": "直线箭尾"});
  605. rows.push({"value": "3", "text": "燕尾箭尾"});
  606. return rows;
  607. }
  608. /**
  609. * 线面标号子标号
  610. */
  611. function libIDToString(libID) {
  612. if (libID == 421)
  613. return "421(警用库)";
  614. else if (libID == 100)
  615. return "100(军队库)";
  616. else if (libID == 123)
  617. return "123(武警库)";
  618. else if (libID == 900)
  619. return "900(人防库)";
  620. }
  621. function subSymbolsTypeString(subSymbolsLength,geometry){
  622. if(subSymbolsLength===0){
  623. return "";
  624. }else {
  625. if(geometry.libID===100){
  626. if(geometry.getSubSymbols()[0].code === 100){
  627. return "陆军";
  628. }else if(geometry.getSubSymbols()[0].code === 200){
  629. return "海军";
  630. }else if(geometry.getSubSymbols()[0].code === 300) {
  631. return "空军";
  632. }
  633. }else if(geometry.libID===123){
  634. if(geometry.getSubSymbols()[0].code === 10101){
  635. return "武装警察部队";
  636. }else if(geometry.getSubSymbols()[0].code === 10102){
  637. return "防爆装甲";
  638. }else if(geometry.getSubSymbols()[0].code === 10103) {
  639. return "火炮";
  640. }
  641. }else if(geometry.libID===900){
  642. if(geometry.getSubSymbols()[0].code === 910200){
  643. return "人民防空重点城市";
  644. }else if(geometry.getSubSymbols()[0].code === 910300){
  645. return "人民防空基本指挥所";
  646. }else if(geometry.getSubSymbols()[0].code === 910402) {
  647. return "水路抢修专业队";
  648. }
  649. }else if(geometry.libID===0){
  650. if(geometry.getSubSymbols()[0].code === 9){
  651. return "刑警";
  652. }else if(geometry.getSubSymbols()[0].code === 80103){
  653. return "交警";
  654. }else if(geometry.getSubSymbols()[0].code === 80109){
  655. return "专业警";
  656. }
  657. }
  658. }
  659. }
  660. function getSubSymbolsTypeRows(geometry){
  661. var rows = [];
  662. rows.push({"value": "0", "text": ""});
  663. if(geometry.libID===100){
  664. rows.push({"value": "100", "text": "陆军"});
  665. rows.push({"value": "200", "text": "海军"});
  666. rows.push({"value": "300", "text": "空军"});
  667. }else if(geometry.libID===123){
  668. rows.push({"value": "10101", "text": "武装警察部队"});
  669. rows.push({"value": "10102", "text": "防爆装甲"});
  670. rows.push({"value": "10103", "text": "火炮"});
  671. }else if(geometry.libID===900){
  672. rows.push({"value": "910200", "text": "人民防空重点城市"});
  673. rows.push({"value": "910300", "text": "人民防空基本指挥所"});
  674. rows.push({"value": "910402", "text": "水路抢修专业队"});
  675. }else if(geometry.libID===0){
  676. rows.push({"value": "9", "text": "刑警"});
  677. rows.push({"value": "80103", "text": "交警"});
  678. rows.push({"value": "80109", "text": "专业警"});
  679. }
  680. return rows;
  681. }
  682. /**
  683. * 文字对齐
  684. * 注记指示框、标注框、多角标注框、线型标注框
  685. */
  686. function fontAlignTypeToString(alignType) {
  687. if(alignType === 'lm')
  688. return "左对齐";
  689. else if(alignType === 'rm')
  690. return "右对齐";
  691. else if(alignType === 'cm')
  692. return "中间对齐";
  693. else if(alignType === 'lt')
  694. return "左上对齐";
  695. else if(alignType === 'lb')
  696. return "左下对齐";
  697. else if(alignType === 'rt')
  698. return "右上对齐";
  699. else if(alignType === 'rb')
  700. return "右下对齐";
  701. }
  702. function getFontAlignTypeRows() {
  703. var rows = [];
  704. rows.push({"value": "0", "text": "左对齐"});
  705. rows.push({"value": "1", "text": "右对齐"});
  706. rows.push({"value": "2", "text": "居中对齐"});
  707. rows.push({"value": "3", "text": "左上对齐"});
  708. rows.push({"value": "4", "text": "左下对齐"});
  709. rows.push({"value": "5", "text": "右上对齐"});
  710. rows.push({"value": "6", "text": "右下对齐"});
  711. return rows;
  712. }
  713. function fontAlignTypeValue (value) {
  714. if (value === '0'){
  715. return 'lm';
  716. }else if(value === '1'){
  717. return 'rm';
  718. }else if (value === '2'){
  719. return 'cm';
  720. }else if (value === '3'){
  721. return 'lt';
  722. }else if (value === '4'){
  723. return 'lb';
  724. }else if (value === '5'){
  725. return 'rt';
  726. }else if (value === '6'){
  727. return 'rb';
  728. }
  729. }
  730. //判断标号类型分类
  731. function checkSymbolType(selectfeature){
  732. if( selectfeature.symbolType === SuperMap.Plot.SymbolType.GROUPOBJECT ||
  733. selectfeature.symbolType === SuperMap.Plot.SymbolType.FLAGGROUP||
  734. selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRROUTE||
  735. selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYROUTE||
  736. selectfeature.symbolType === SuperMap.Plot.SymbolType.MISSILEROUTE||
  737. selectfeature.symbolType === SuperMap.Plot.SymbolType.ROUTENODE||
  738. selectfeature.symbolType === SuperMap.Plot.SymbolType.LITERATESIGN||
  739. selectfeature.symbolType === SuperMap.Plot.SymbolType.SATELLITE||
  740. selectfeature.symbolType === SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS||
  741. selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||
  742. selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRDEPLOYMENT||
  743. selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT||
  744. selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT1 ||
  745. selectfeature.symbolType===SuperMap.Plot.SymbolType.TEXTSYMBOL
  746. ) {
  747. return false;
  748. }else{
  749. return true;
  750. }
  751. }
  752. function isCanAddText(selectfeature){
  753. if( selectfeature.symbolType === SuperMap.Plot.SymbolType.POLYLINESYMBOL ||//直线
  754. selectfeature.symbolType === SuperMap.Plot.SymbolType.PARALLELOGRAM ||//平行四边形
  755. selectfeature.symbolType === SuperMap.Plot.SymbolType.CIRCLESYMBOL ||//圆
  756. selectfeature.symbolType === SuperMap.Plot.SymbolType.ELLIPSESYMBOL ||//椭圆
  757. selectfeature.symbolType === SuperMap.Plot.SymbolType.REGULARPOLYGON ||//正多边形
  758. selectfeature.symbolType === SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL ||//任意多边形
  759. selectfeature.symbolType === SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL ||//贝塞尔曲线
  760. selectfeature.symbolType === SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL ||//闭合贝塞尔曲线
  761. selectfeature.symbolType === SuperMap.Plot.SymbolType.KIDNEY ||//集结地
  762. selectfeature.symbolType === SuperMap.Plot.SymbolType.BRACESYMBOL ||//大括号
  763. selectfeature.symbolType === SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL ||//梯形
  764. selectfeature.symbolType === SuperMap.Plot.SymbolType.RECTANGLESYMBOL ||//矩形
  765. selectfeature.symbolType === SuperMap.Plot.SymbolType.CHORDSYMBOL ||//弓形
  766. selectfeature.symbolType === SuperMap.Plot.SymbolType.PIESYMBOL ||//扇形
  767. selectfeature.symbolType === SuperMap.Plot.SymbolType.ARCSYMBOL ||//弧线
  768. selectfeature.symbolType === SuperMap.Plot.SymbolType.PARALLELLINE ||//平行线
  769. selectfeature.symbolType === SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL ||//注记指示框
  770. selectfeature.symbolType === SuperMap.Plot.SymbolType.CONCENTRICCIRCLE||//同心圆
  771. selectfeature.symbolType === SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE||//组合圆
  772. selectfeature.symbolType === SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM ||//多角标注框
  773. selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXTBOX ||//标注框
  774. selectfeature.symbolType === SuperMap.Plot.SymbolType.FREECURVE ||//自由曲线
  775. selectfeature.symbolType === SuperMap.Plot.SymbolType.NODECHAIN ||//节点链
  776. selectfeature.symbolType === SuperMap.Plot.SymbolType.RUNWAY ||//跑道形
  777. selectfeature.symbolType === SuperMap.Plot.SymbolType.CURVEEIGHT ||//8字形
  778. selectfeature.symbolType === SuperMap.Plot.SymbolType.ARROWLINE ||//箭头线
  779. selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT ||//沿线注记
  780. selectfeature.symbolType === SuperMap.Plot.SymbolType.POLYGONREGION ||//多边形区域
  781. selectfeature.symbolType === SuperMap.Plot.SymbolType.ARCREGION ||//扇形区域
  782. selectfeature.symbolType === SuperMap.Plot.SymbolType.LINEMARKING //线型标注
  783. ){
  784. return true;
  785. }
  786. }
  787. function symbolPropertyObject(selectfeature,styleObject) {
  788. //线形:线宽
  789. var lineWidthObj = new Object();
  790. lineWidthObj.group = group[4];
  791. lineWidthObj.name = displayLineStyleName[0];
  792. lineWidthObj.editor = "text";
  793. if(styleObject.weight !==undefined){
  794. lineWidthObj.value = styleObject.weight;
  795. }else{
  796. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.GROUPOBJECT){
  797. lineWidthObj.value = selectfeature.getStrokeWidth();
  798. }else{
  799. lineWidthObj.value = styleObject.strokeWidth;
  800. }
  801. }
  802. //线形:线色
  803. var lineColorObj = new Object();
  804. lineColorObj.group = group[4];
  805. lineColorObj.name = displayLineStyleName[1];
  806. lineColorObj.editor = "colorpicker";
  807. if(styleObject.color !==undefined){
  808. lineColorObj.value = styleObject.color;
  809. }else{
  810. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.GROUPOBJECT){
  811. lineColorObj.value = selectfeature.getStrokeColor();
  812. }else{
  813. lineColorObj.value = styleObject.strokeColor;
  814. }
  815. }
  816. //线形:线型
  817. var lineStyleObj = new Object();
  818. lineStyleObj.group = group[4];
  819. lineStyleObj.name = displayLineStyleName[2];
  820. if(styleObject.lineSymbolID !== undefined){
  821. lineStyleObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getLineStyleRows()}};
  822. lineStyleObj.value = lineStyleToString(styleObject.lineSymbolID);
  823. }else{
  824. lineStyleObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": get8CLineStyleRows() }};
  825. lineStyleObj.value = styleObject.strokeDashstyle;
  826. }
  827. //线形:线透明度
  828. var lineOpaqueRateObj = new Object();
  829. lineOpaqueRateObj.group = group[4];
  830. lineOpaqueRateObj.name = displayLineStyleName[3];
  831. lineOpaqueRateObj.editor = "text";
  832. if( styleObject.opacity !==undefined){
  833. lineOpaqueRateObj.value = styleObject.opacity;
  834. }else{
  835. lineOpaqueRateObj.value = styleObject.strokeOpacity;
  836. }
  837. //衬线:衬线类型
  838. var surroundLineTypeObj = new Object();
  839. surroundLineTypeObj.group = group[5];
  840. surroundLineTypeObj.name = displaySurroundLineName[0];
  841. surroundLineTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getSurroundLineTypeRows(selectfeature.symbolType)}};
  842. if(checkSymbolType(selectfeature)===true){
  843. surroundLineTypeObj.value = surroundLineTypeToString(selectfeature.symbolType, selectfeature.getSurroundLineType());
  844. }
  845. //衬线:衬线宽
  846. var surroundLineWidthObj = new Object();
  847. surroundLineWidthObj.group = group[5];
  848. surroundLineWidthObj.name = displaySurroundLineName[1];
  849. surroundLineWidthObj.editor = "text";
  850. surroundLineWidthObj.value = styleObject.surroundLineWidth;
  851. //衬线:衬线色
  852. var surroundLineColorObj = new Object();
  853. surroundLineColorObj.group = group[5];
  854. surroundLineColorObj.name = displaySurroundLineName[2];
  855. surroundLineColorObj.editor = "colorpicker";
  856. surroundLineColorObj.value = styleObject.surroundLineColor;
  857. //衬线:衬线透明度
  858. var surroundLineColorOpaObj = new Object();
  859. surroundLineColorOpaObj.group = group[5];
  860. surroundLineColorOpaObj.name = displaySurroundLineName[3];
  861. surroundLineColorOpaObj.editor = "text";
  862. surroundLineColorOpaObj.value = styleObject.surroundLineColorOpacity;
  863. //填充:填充
  864. var fillObj = new Object();
  865. fillObj.group = group[6];
  866. fillObj.name = displayFillStyleName[0];
  867. fillObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getFillRows(selectfeature)}};
  868. fillObj.value = fillToString(parseFloat(styleObject.fillSymbolID),selectfeature);
  869. //填充:填充色
  870. var fillforeColorObj = new Object();
  871. fillforeColorObj.group = group[6];
  872. fillforeColorObj.name = displayFillStyleName[1];
  873. fillforeColorObj.editor = "colorpicker";
  874. fillforeColorObj.value = styleObject.fillColor;
  875. //填充:填充透明度
  876. var fillOpaqueRateObj = new Object();
  877. fillOpaqueRateObj.group = group[6];
  878. fillOpaqueRateObj.name = displayFillStyleName[2];
  879. fillOpaqueRateObj.editor = "text";
  880. fillOpaqueRateObj.value = styleObject.fillOpacity;
  881. //填充:渐变填充方式
  882. var fillGradientModeObj = new Object();
  883. fillGradientModeObj.group = group[6];
  884. fillGradientModeObj.name = displayFillStyleName[3];
  885. fillGradientModeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getFillGradientModeRows()}};
  886. fillGradientModeObj.value = fillGradientModeToString(styleObject.fillGradientMode);
  887. //填充:填充背景色
  888. var fillBackColorObj = new Object();
  889. fillBackColorObj.group = group[6];
  890. fillBackColorObj.name = displayFillStyleName[4];
  891. fillBackColorObj.editor = "colorpicker";
  892. fillBackColorObj.value = styleObject.fillBackColor;
  893. //填充:填充背景透明度
  894. var fillBackOpacityObj = new Object();
  895. fillBackOpacityObj.group = group[6];
  896. fillBackOpacityObj.name = displayFillStyleName[5];
  897. fillBackOpacityObj.editor = "text";
  898. fillBackOpacityObj.value = styleObject.fillBackOpacity;
  899. //填充:渐变填充角度
  900. var fillBackAngleObj = new Object();
  901. fillBackAngleObj.group = group[6];
  902. fillBackAngleObj.name = displayFillStyleName[6];
  903. fillBackAngleObj.editor = "text";
  904. fillBackAngleObj.value = styleObject.fillAngle;
  905. //填充:渐变填充水平偏移
  906. var fillBackXObj = new Object();
  907. fillBackXObj.group = group[6];
  908. fillBackXObj.name = displayFillStyleName[7];
  909. fillBackXObj.editor = "text";
  910. fillBackXObj.value = styleObject.fillCenterOffsetX;
  911. //填充:渐变填充竖直偏移
  912. var fillBackYObj = new Object();
  913. fillBackYObj.group = group[6];
  914. fillBackYObj.name = displayFillStyleName[8];
  915. fillBackYObj.editor = "text";
  916. fillBackYObj.value = styleObject.fillCenterOffsetY;
  917. //注记:注记内容
  918. var textContentObj = new Object();
  919. textContentObj.group = group[7];
  920. textContentObj.name = displayTextContentName[0];
  921. textContentObj.editor = "text";
  922. textContentObj.value = selectfeature.getTextContent();
  923. //注记:注记位置
  924. var markPosObj = new Object();
  925. markPosObj.group = group[7];
  926. markPosObj.name = displayTextContentName[1];
  927. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT) {
  928. markPosObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getRelLineTextRows(selectfeature.getRelLineText()) }};
  929. markPosObj.value = relLineTextToString(selectfeature.getRelLineText());
  930. }else{
  931. markPosObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getAnnotationRows(selectfeature) }};
  932. markPosObj.value = annotationToString(selectfeature.getTextPosition());
  933. }
  934. //注记:注记字体大小
  935. var fontSizeObj = new Object();
  936. fontSizeObj.group = group[7];
  937. fontSizeObj.name = displayTextContentName[2];
  938. fontSizeObj.editor = "text";
  939. fontSizeObj.value = styleObject.fontSize;
  940. //注记:注记字体颜色
  941. var fontColorObj = new Object();
  942. fontColorObj.group = group[7];
  943. fontColorObj.name = displayTextContentName[3];
  944. fontColorObj.editor = "colorpicker";
  945. fontColorObj.value = styleObject.fontColor;
  946. //注记:注记字体名称
  947. var fontFamilyObj = new Object();
  948. fontFamilyObj.group = group[7];
  949. fontFamilyObj.name = displayTextContentName[4];
  950. fontFamilyObj.editor = "text";
  951. fontFamilyObj.value = styleObject.fontFamily;
  952. //注记:注记与标号的间距
  953. var fontSpaceObj = new Object();
  954. fontSpaceObj.group = group[7];
  955. fontSpaceObj.name = displayTextContentName[5];
  956. fontSpaceObj.editor = "text";
  957. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT || selectfeature.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
  958. fontSpaceObj.value = selectfeature.getSpace();
  959. }
  960. //注记:字间距
  961. var fontSpaceObj1 = new Object();
  962. fontSpaceObj1.group = group[7];
  963. fontSpaceObj1.name = displayTextContentName[6];
  964. fontSpaceObj1.editor = "text";
  965. fontSpaceObj1.value = styleObject.fontSpace;
  966. //注记:字宽百分比
  967. var fontPercentObj = new Object();
  968. fontPercentObj.group = group[7];
  969. fontPercentObj.name = displayTextContentName[7];
  970. fontPercentObj.editor = "text";
  971. fontPercentObj.value = styleObject.fontPercent;
  972. //注记:字体描边
  973. var fontStrokeObj = new Object();
  974. fontStrokeObj.group = group[7];
  975. fontStrokeObj.name = displayTextContentName[8];
  976. fontStrokeObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
  977. fontStrokeObj.value = checkboxValueToString(styleObject.fontStroke);
  978. //注记:描边色
  979. var fontStrokeColorObj = new Object();
  980. fontStrokeColorObj.group = group[7];
  981. fontStrokeColorObj.name = displayTextContentName[9];
  982. fontStrokeColorObj.editor = "colorpicker";
  983. fontStrokeColorObj.value = styleObject.fontStrokeColor;
  984. //注记:描边宽度
  985. var fontStrokeWidthObj = new Object();
  986. fontStrokeWidthObj.group = group[7];
  987. fontStrokeWidthObj.name = displayTextContentName[10];
  988. fontStrokeWidthObj.editor = "text";
  989. fontStrokeWidthObj.value = styleObject.fontStrokeWidth;
  990. //注记:文字背景
  991. var fontBackObj = new Object();
  992. fontBackObj.group = group[7];
  993. fontBackObj.name = displayTextContentName[11];
  994. fontBackObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
  995. fontBackObj.value = checkboxValueToString(styleObject.fontBackground);
  996. //注记:背景色
  997. var fontBackColorObj = new Object();
  998. fontBackColorObj.group = group[7];
  999. fontBackColorObj.name = displayTextContentName[12];
  1000. fontBackColorObj.editor = "colorpicker";
  1001. fontBackColorObj.value = styleObject.fontBackgroundColor;
  1002. //注记:文字阴影
  1003. var fontShadowObj = new Object();
  1004. fontShadowObj.group = group[7];
  1005. fontShadowObj.name = displayTextContentName[13];
  1006. fontShadowObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
  1007. fontShadowObj.value = checkboxValueToString(styleObject.fontShadow);
  1008. //注记:阴影色
  1009. var fontShadowColorObj = new Object();
  1010. fontShadowColorObj.group = group[7];
  1011. fontShadowColorObj.name = displayTextContentName[14];
  1012. fontShadowColorObj.editor = "colorpicker";
  1013. fontShadowColorObj.value = styleObject.fontShadowColor;
  1014. //注记:阴影偏移量X
  1015. var fontShadowOffsetXObj = new Object();
  1016. fontShadowOffsetXObj.group = group[7];
  1017. fontShadowOffsetXObj.name = displayTextContentName[15];
  1018. fontShadowOffsetXObj.editor = "text";
  1019. fontShadowOffsetXObj.value = styleObject.fontShadowOffsetX;
  1020. //注记:阴影偏移量Y
  1021. var fontShadowOffsetYObj = new Object();
  1022. fontShadowOffsetYObj.group = group[7];
  1023. fontShadowOffsetYObj.name = displayTextContentName[16];
  1024. fontShadowOffsetYObj.editor = "text";
  1025. fontShadowOffsetYObj.value = styleObject.fontShadowOffsetY;
  1026. var rows = [];
  1027. //线形
  1028. var lineRows = [];
  1029. lineRows.push(lineWidthObj);
  1030. lineRows.push(lineColorObj);
  1031. lineRows.push(lineStyleObj);
  1032. lineRows.push(lineOpaqueRateObj);
  1033. //衬线
  1034. var surroundLineRows =[];
  1035. surroundLineRows.push(surroundLineTypeObj);
  1036. surroundLineRows.push(surroundLineWidthObj);
  1037. surroundLineRows.push(surroundLineColorObj);
  1038. surroundLineRows.push(surroundLineColorOpaObj);
  1039. //填充
  1040. var fillRows =[];
  1041. fillRows.push(fillObj);
  1042. fillRows.push(fillGradientModeObj);
  1043. if(styleObject.fillGradientMode === "NONE" && styleObject.fillSymbolID === 0){
  1044. fillRows.push(fillforeColorObj);
  1045. fillRows.push(fillOpaqueRateObj);
  1046. }else if(styleObject.fillGradientMode === "NONE" &&
  1047. styleObject.fillSymbolID !== 0 &&
  1048. styleObject.fillSymbolID !== 1){
  1049. fillRows.push(fillforeColorObj);
  1050. fillRows.push(fillOpaqueRateObj);
  1051. fillRows.push(fillBackColorObj);
  1052. fillRows.push(fillBackOpacityObj);
  1053. }else if(styleObject.fillGradientMode !== "NONE"){
  1054. fillRows.push(fillforeColorObj);
  1055. fillRows.push(fillOpaqueRateObj);
  1056. fillRows.push(fillBackColorObj);
  1057. fillRows.push(fillBackAngleObj);
  1058. fillRows.push(fillBackXObj);
  1059. fillRows.push(fillBackYObj);
  1060. //if(styleObject.fillGradientMode === "LINEAR"){
  1061. // fillRows.push(fillBackAngleObj);
  1062. //}
  1063. //fillRows.push(fillBackXObj);
  1064. //if(styleObject.fillGradientMode === "RADIAL"){
  1065. // fillRows.push(fillBackYObj);
  1066. //}
  1067. }
  1068. //文字
  1069. var textRows = [];
  1070. textRows.push(textContentObj);
  1071. textRows.push(fontColorObj);
  1072. textRows.push(fontFamilyObj);
  1073. textRows.push(fontSizeObj);
  1074. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT ||
  1075. selectfeature.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL) {
  1076. textRows.push(markPosObj);
  1077. if(selectfeature.getTextPosition() !== 8){
  1078. textRows.push(fontSpaceObj);
  1079. }
  1080. }
  1081. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL ||
  1082. selectfeature.symbolType === SuperMap.Plot.SymbolType.TEXTSYMBOL
  1083. ){
  1084. textRows.push(fontPercentObj);
  1085. textRows.push(fontSpaceObj1);
  1086. textRows.push(fontStrokeObj);
  1087. if (styleObject.fontStroke === true) {
  1088. textRows.push(fontStrokeColorObj);
  1089. textRows.push(fontStrokeWidthObj);
  1090. }
  1091. textRows.push(fontBackObj);
  1092. if(styleObject.fontBackground === true){
  1093. textRows.push(fontBackColorObj);
  1094. }
  1095. textRows.push(fontShadowObj);
  1096. if (styleObject.fontShadow === true) {
  1097. textRows.push(fontShadowColorObj);
  1098. textRows.push(fontShadowOffsetXObj);
  1099. textRows.push(fontShadowOffsetYObj);
  1100. }
  1101. }
  1102. //图元文本
  1103. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.TEXTSYMBOL){
  1104. rows = rows.concat(textRows);
  1105. }
  1106. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.GROUPOBJECT||
  1107. selectfeature.symbolType === SuperMap.Plot.SymbolType.FLAGGROUP||
  1108. selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRROUTE||
  1109. selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYROUTE||
  1110. selectfeature.symbolType === SuperMap.Plot.SymbolType.MISSILEROUTE||
  1111. selectfeature.symbolType === SuperMap.Plot.SymbolType.LITERATESIGN||
  1112. selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRDEPLOYMENT||
  1113. selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT1||
  1114. selectfeature.symbolType === SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS||
  1115. selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYDEPLOYMENT
  1116. ){
  1117. rows = rows.concat(lineRows);
  1118. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRDEPLOYMENT||
  1119. selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYDEPLOYMENT){
  1120. rows = rows.concat(fillRows);
  1121. }
  1122. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||
  1123. selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT1){
  1124. rows.push(textContentObj);
  1125. rows.push(fontColorObj);
  1126. rows.push(fontFamilyObj);
  1127. rows.push(fontSizeObj);
  1128. }
  1129. }
  1130. //点标号自己独有属性
  1131. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
  1132. //常用:点:旋转角度
  1133. var dotSymbolRotateObj = new Object();
  1134. dotSymbolRotateObj.group = group[3];
  1135. dotSymbolRotateObj.name = displayNameDot[0];
  1136. dotSymbolRotateObj.editor = "text";
  1137. dotSymbolRotateObj.value = selectfeature.getRotate();
  1138. //常用:点:随图缩放
  1139. var dotScaleByMap = new Object();
  1140. dotScaleByMap.group = group[3];
  1141. dotScaleByMap.name = displayNameDot[1];
  1142. dotScaleByMap.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
  1143. dotScaleByMap.value = checkboxValueToString(selectfeature.getScaleByMap());
  1144. //常用:点:镜像
  1145. var dotSymbolNegativeImageObj = new Object();
  1146. dotSymbolNegativeImageObj.group = group[3];
  1147. dotSymbolNegativeImageObj.name = displayNameDot[2];
  1148. dotSymbolNegativeImageObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
  1149. dotSymbolNegativeImageObj.value = checkboxValueToString(selectfeature.getNegativeImage());
  1150. //常用:点:标号级别
  1151. var dotSymbolRankObj = new Object();
  1152. dotSymbolRankObj.group = group[3];
  1153. dotSymbolRankObj.name = displayNameDot[3];
  1154. dotSymbolRankObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getSymbolRankRows(selectfeature) }};
  1155. dotSymbolRankObj.value = symbolRankToString(selectfeature.getSymbolRank());
  1156. //常用:点:位置点偏移
  1157. var dotPositionOffset = new Object();
  1158. dotPositionOffset.group = group[3];
  1159. dotPositionOffset.name = displayNameDot[4];
  1160. dotPositionOffset.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
  1161. dotPositionOffset.value = checkboxValueToString(selectfeature.getPositionOffset());
  1162. //常用:点:偏移线类型
  1163. var dotPositionOffsetType = new Object();
  1164. dotPositionOffsetType.group = group[3];
  1165. dotPositionOffsetType.name = displayNameDot[5];
  1166. dotPositionOffsetType.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getPositionOffsetTypeRows() }};
  1167. dotPositionOffsetType.value = positionOffsetTypeToString(selectfeature.getPositionOffsetType());
  1168. //常用:点:宽高限定
  1169. var dotSymbolWidthHeightLimit = new Object();
  1170. dotSymbolWidthHeightLimit.group = group[3];
  1171. dotSymbolWidthHeightLimit.name = displayNameDot[6];
  1172. dotSymbolWidthHeightLimit.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
  1173. dotSymbolWidthHeightLimit.value = checkboxValueToString(selectfeature.getWidthHeightLimit());
  1174. //常用:点:军标大小
  1175. var dotSymbolWidthObj = new Object();
  1176. dotSymbolWidthObj.group = group[3];
  1177. dotSymbolWidthObj.name = displayNameDot[7];
  1178. dotSymbolWidthObj.editor = "text";
  1179. dotSymbolWidthObj.value = selectfeature.getSymbolSize().w;
  1180. var dotSymbolHeightObj = new Object();
  1181. dotSymbolHeightObj.group = group[3];
  1182. dotSymbolHeightObj.name = displayNameDot[8];
  1183. dotSymbolHeightObj.editor = "text";
  1184. dotSymbolHeightObj.value = selectfeature.getSymbolSize().h;
  1185. var dotSymbolRows = [];
  1186. dotSymbolRows.push(dotSymbolRotateObj);
  1187. dotSymbolRows.push(dotScaleByMap);
  1188. dotSymbolRows.push(dotSymbolNegativeImageObj);
  1189. dotSymbolRows.push(dotSymbolRankObj);
  1190. dotSymbolRows.push(dotPositionOffset);
  1191. dotSymbolRows.push(dotPositionOffsetType);
  1192. dotSymbolRows.push(dotSymbolWidthHeightLimit);
  1193. dotSymbolRows.push(dotSymbolWidthObj);
  1194. dotSymbolRows.push(dotSymbolHeightObj);
  1195. dotSymbolRows = dotSymbolRows.concat(lineRows);
  1196. dotSymbolRows = dotSymbolRows.concat(surroundLineRows);
  1197. dotSymbolRows = dotSymbolRows.concat(fillRows);
  1198. dotSymbolRows = dotSymbolRows.concat(textRows);
  1199. rows = rows.concat(dotSymbolRows);
  1200. }
  1201. if(selectfeature.symbolType !== SuperMap.Plot.SymbolType.DOTSYMBOL && checkSymbolType(selectfeature) === true){
  1202. var algoSymbolRows =[];
  1203. //线面标号子标号
  1204. for (var i = 0; i < selectfeature.getSubSymbols().length; i++) {
  1205. var objectSubCode = new Object();
  1206. objectSubCode.group = group[8];
  1207. objectSubCode.name = displayName[3];
  1208. objectSubCode.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getSubSymbolsTypeRows(selectfeature) }};
  1209. objectSubCode.index = i;
  1210. objectSubCode.value = selectfeature.getSubSymbols()[i].code;
  1211. algoSymbolRows.push(objectSubCode);
  1212. }
  1213. // if((0 === selectfeature.getSubSymbols().length && selectfeature.libID === 0 && selectfeature.code === 1025)||
  1214. // (0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 25200)||
  1215. // (0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 3020901)||
  1216. // (0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 23400) ||
  1217. // (0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 30800) ||
  1218. // (0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 26400)
  1219. // ){
  1220. // var objectSubCode1 = new Object();
  1221. // objectSubCode1.group = group[8];
  1222. // objectSubCode1.name = displayName[3];
  1223. // objectSubCode1.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getSubSymbolsTypeRows(selectfeature) }};
  1224. // objectSubCode1.index = i;
  1225. // objectSubCode1.value = subSymbolsTypeString(selectfeature.getSubSymbols().length,selectfeature);
  1226. // algoSymbolRows.push(objectSubCode1);
  1227. // }
  1228. // if(selectfeature.code === 1025 && selectfeature.getSubSymbols().length > 0){
  1229. // var objectLibID = new Object();
  1230. // objectLibID.group = group[8];
  1231. // objectLibID.name = displayName[2];
  1232. // objectLibID.editor = "text";
  1233. // objectLibID.value = libIDToString(selectfeature.getSubSymbols()[0].libID);
  1234. // algoSymbolRows.push(objectLibID);
  1235. // }
  1236. //四个点以上含4个点可以设置成折线显示
  1237. if (typeof selectfeature.canPolylineConnectLocationPoint === "function" && selectfeature.canPolylineConnectLocationPoint() === true ) {
  1238. var algoLineType = new Object();
  1239. algoLineType.group = groupNew[8];
  1240. algoLineType.name = displayNameNew[20];
  1241. algoLineType.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
  1242. algoLineType.value = checkboxValueToString(selectfeature.getPolylineConnectLocationPoint());
  1243. algoSymbolRows.push(algoLineType);
  1244. }
  1245. algoSymbolRows = algoSymbolRows.concat(lineRows);
  1246. algoSymbolRows = algoSymbolRows.concat(surroundLineRows);
  1247. algoSymbolRows = algoSymbolRows.concat(fillRows);
  1248. if(isCanAddText(selectfeature)===true){
  1249. algoSymbolRows = algoSymbolRows.concat(textRows);
  1250. }
  1251. rows = rows.concat(algoSymbolRows);
  1252. }
  1253. //注记指示框、多角标注框、标注框、线型标注框
  1254. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL||
  1255. selectfeature.symbolType === SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM||
  1256. selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXTBOX||
  1257. selectfeature.symbolType === SuperMap.Plot.SymbolType.LINEMARKING){
  1258. //文字对齐方式
  1259. var fontAlignType = new Object();
  1260. fontAlignType.group = group[7];
  1261. fontAlignType.name = displayNameNew[21];
  1262. fontAlignType.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getFontAlignTypeRows() }};
  1263. fontAlignType.value = fontAlignTypeToString(styleObject.labelAlign);
  1264. rows.push(fontAlignType);
  1265. //标注框边框
  1266. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXTBOX){
  1267. //标注框边框
  1268. var textBoxTypeObj = new Object();
  1269. textBoxTypeObj.group = groupNew[3];
  1270. textBoxTypeObj.name = displayNameNew[9];
  1271. textBoxTypeObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getTextBoxTypeRows() }};
  1272. textBoxTypeObj.value = textBoxTypeToString(selectfeature.getTextBoxType());
  1273. //圆角边框
  1274. var roundBoxObj = new Object();
  1275. roundBoxObj.group = groupNew[3];
  1276. roundBoxObj.name = displayNameNew[10];
  1277. roundBoxObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
  1278. roundBoxObj.value = checkboxValueToString(selectfeature.getRoundBox());
  1279. rows.push(textBoxTypeObj);
  1280. rows.push(roundBoxObj);
  1281. }
  1282. //线型标注框边框
  1283. if(selectfeature.symbolType === SuperMap.Plot.SymbolType.LINEMARKING){
  1284. var lineMarkingTextBoxTypeObj = new Object();
  1285. lineMarkingTextBoxTypeObj.group = groupNew[3];
  1286. lineMarkingTextBoxTypeObj.name = displayNameNew[9];
  1287. lineMarkingTextBoxTypeObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getLineMarkingTypeRows() }};
  1288. lineMarkingTextBoxTypeObj.value = lineMarkingTypeToString(selectfeature.getTextBoxType());
  1289. rows.push(lineMarkingTextBoxTypeObj);
  1290. }
  1291. }
  1292. //箭头线自己独有属性
  1293. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.ARROWLINE && selectfeature.libID === 0) {
  1294. var arrowTypeStartObj = new Object();
  1295. arrowTypeStartObj.group = groupNew[1];
  1296. arrowTypeStartObj.name = displayNameNew[3];
  1297. arrowTypeStartObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowTypeRows(selectfeature)}};
  1298. arrowTypeStartObj.value = arrowTypeToString(selectfeature.getStartArrowType());
  1299. var arrowTypeEndObj = new Object();
  1300. arrowTypeEndObj.group = groupNew[1];
  1301. arrowTypeEndObj.name = displayNameNew[4];
  1302. arrowTypeEndObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowTypeRows(selectfeature)}};
  1303. arrowTypeEndObj.value = arrowTypeToString(selectfeature.getEndArrowType());
  1304. rows.push(arrowTypeStartObj);
  1305. rows.push(arrowTypeEndObj);
  1306. }
  1307. //沿线注记自己独有属性
  1308. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT) {
  1309. var showPathLineObj = new Object();
  1310. showPathLineObj.group = groupNew[2];
  1311. showPathLineObj.name = displayNameNew[5];
  1312. showPathLineObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getShowRows()}};
  1313. showPathLineObj.value = showToString(selectfeature.getShowPathLine());
  1314. var isCurveObj = new Object();
  1315. isCurveObj.group = groupNew[2];
  1316. isCurveObj.name = displayNameNew[6];
  1317. isCurveObj.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
  1318. isCurveObj.value = checkboxValueToString(selectfeature.getIsCurveLine());
  1319. var showPathLineArrowObj = new Object();
  1320. showPathLineArrowObj.group = groupNew[2];
  1321. showPathLineArrowObj.name = displayNameNew[7];
  1322. showPathLineArrowObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getShowRows()}};
  1323. showPathLineArrowObj.value = showToString(selectfeature.getShowPathLineArrow());
  1324. var isAvoidObj = new Object();
  1325. isAvoidObj.group = groupNew[2];
  1326. isAvoidObj.name = displayNameNew[8];
  1327. isAvoidObj.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
  1328. isAvoidObj.value = checkboxValueToString(selectfeature.getIsAvoidLine());
  1329. rows.push(showPathLineObj);
  1330. rows.push(isCurveObj);
  1331. rows.push(showPathLineArrowObj);
  1332. if(selectfeature.getRelLineText() === SuperMap.Plot.RelLineText.ONLINE){
  1333. rows.push(isAvoidObj);
  1334. }
  1335. }
  1336. //对象间连线
  1337. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.LINERELATION) {
  1338. var lineRelationTypeObj = new Object();
  1339. lineRelationTypeObj.name = displayNameNew[19];
  1340. lineRelationTypeObj.value = lineRelationTypeToString(selectfeature.getLineRelationType());
  1341. lineRelationTypeObj.group = groupNew[7];
  1342. lineRelationTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getLineRelationTypeRows()}};
  1343. rows.push(lineRelationTypeObj);
  1344. }
  1345. //扇形区域
  1346. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.ARCREGION) {
  1347. if (selectfeature.radiusLineType != null){
  1348. var radiusLineTypeObj = new Object();
  1349. radiusLineTypeObj.name = displayNameNew[12];
  1350. radiusLineTypeObj.value = radiusTypeToString(selectfeature.getRadiusLineType());
  1351. radiusLineTypeObj.group = groupNew[4];
  1352. radiusLineTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getRadiusTypeRows(selectfeature)}};
  1353. rows.push(radiusLineTypeObj);
  1354. }
  1355. if (selectfeature.radiusText != null) {
  1356. var radiusPosAngleObj = new Object();
  1357. radiusPosAngleObj.name = displayNameNew[13];
  1358. radiusPosAngleObj.value = selectfeature.getRadiusTextPos();
  1359. radiusPosAngleObj.group = groupNew[4];
  1360. radiusPosAngleObj.editor = "text";
  1361. var upTextObj = new Object();
  1362. upTextObj.name = displayNameNew[14];
  1363. upTextObj.value = selectfeature.getRadiusText(0);
  1364. upTextObj.group = groupNew[4];
  1365. upTextObj.editor = "text";
  1366. var downTextObj = new Object();
  1367. downTextObj.name = displayNameNew[15];
  1368. downTextObj.value = selectfeature.getRadiusText(1);
  1369. downTextObj.group = groupNew[4];
  1370. downTextObj.editor = "text";
  1371. rows.push(radiusPosAngleObj);
  1372. rows.push(upTextObj);
  1373. rows.push(downTextObj);
  1374. }
  1375. }
  1376. //航线
  1377. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.ROUTENODE) {
  1378. rows = rows.concat(lineRows);
  1379. var routeNodeTypeObj = new Object();
  1380. routeNodeTypeObj.name = displayNameNew[17];
  1381. routeNodeTypeObj.value = routeNodeTypeToString(selectfeature.routeNode.type);
  1382. routeNodeTypeObj.group = groupNew[6];
  1383. routeNodeTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getRouteNodeTypeRows()}};
  1384. var routeNodeRotate = new Object();
  1385. routeNodeRotate.name = displayNameNew[18];
  1386. routeNodeRotate.value = selectfeature.routeNode.rotate;
  1387. routeNodeRotate.group = groupNew[6];
  1388. routeNodeRotate.editor = "text";
  1389. rows.push(routeNodeTypeObj);
  1390. if (selectfeature.routeNode.type === SuperMap.Plot.RouteNodeType.STANDBY) {
  1391. rows.push(routeNodeRotate);
  1392. }
  1393. }
  1394. //对象标注的标注内容和标注边框
  1395. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT) {
  1396. var textContentObj1 = new Object();
  1397. textContentObj1.group = group[7];
  1398. textContentObj1.name = displayTextContentName[0];
  1399. textContentObj1.editor = "text";
  1400. textContentObj1.value = selectfeature.symbolTexts[0].textContent;
  1401. rows.push(textContentObj1);
  1402. if(selectfeature.symbolTexts.length == 2){
  1403. var textContentObj2 = new Object();
  1404. textContentObj2.group = group[7];
  1405. textContentObj2.name = displayTextContentName[0] + "2";
  1406. textContentObj2.editor = "text";
  1407. textContentObj2.value = selectfeature.symbolTexts[1].textContent;
  1408. rows.push(textContentObj2);
  1409. }
  1410. rows.push(fontColorObj);
  1411. rows.push(fontFamilyObj);
  1412. rows.push(fontSizeObj);
  1413. var symbolTextFrameObj = new Object();
  1414. symbolTextFrameObj.group = groupNew[3];
  1415. symbolTextFrameObj.name = displayNameNew[11];
  1416. symbolTextFrameObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
  1417. symbolTextFrameObj.value = checkboxValueToString(selectfeature.getFrame());
  1418. rows.push(symbolTextFrameObj);
  1419. if(selectfeature.getFrame() === true){
  1420. rows.push(lineWidthObj);
  1421. rows.push(lineColorObj);
  1422. rows.push(lineOpaqueRateObj);
  1423. rows.push(fillObj);
  1424. rows.push(fillforeColorObj);
  1425. rows.push(fillOpaqueRateObj);
  1426. }
  1427. }
  1428. //卫星
  1429. if (selectfeature.symbolType === SuperMap.Plot.SymbolType.SATELLITE) {
  1430. var visibleObj = new Object();
  1431. visibleObj.name = displayNameNew[16];
  1432. visibleObj.value = showToString(selectfeature.getVisible());
  1433. visibleObj.group = groupNew[5];
  1434. visibleObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getShowRows()}};
  1435. rows = rows.concat(lineRows);
  1436. rows.push(textContentObj);
  1437. rows.push(fontColorObj);
  1438. rows.push(fontFamilyObj);
  1439. rows.push(fontSizeObj);
  1440. rows.push(visibleObj);
  1441. }
  1442. //复合箭头自己独有属性
  1443. if (selectfeature.libID === 22 && selectfeature.code === 1016) {
  1444. var arrowHeadTypeObj = new Object();
  1445. arrowHeadTypeObj.group = groupNew[0];
  1446. arrowHeadTypeObj.name = displayNameNew[0];
  1447. arrowHeadTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowHeadTypeRows()}};
  1448. arrowHeadTypeObj.value = arrowHeadTypeToString(selectfeature.getArrowHeadType());
  1449. var arrowBodyTypeObj = new Object();
  1450. arrowBodyTypeObj.group = groupNew[0];
  1451. arrowBodyTypeObj.name = displayNameNew[1];
  1452. arrowBodyTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowBodyTypeRows()}};
  1453. arrowBodyTypeObj.value = arrowBodyTypeToString(selectfeature.getArrowBodyType());
  1454. var arrowTailTypepeObj = new Object();
  1455. arrowTailTypepeObj.group = groupNew[0];
  1456. arrowTailTypepeObj.name = displayNameNew[2];
  1457. arrowTailTypepeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowTailTypeRows()}};
  1458. arrowTailTypepeObj.value = arrowTailTypeToString(selectfeature.getArrowTailType());
  1459. rows.push(arrowHeadTypeObj);
  1460. rows.push(arrowBodyTypeObj);
  1461. rows.push(arrowTailTypepeObj);
  1462. }
  1463. return rows;
  1464. }