hi-ucs/front/public/leaflet/libs/iclient8c/examples/js/plottingPanel/PublicStyleFunction.js

1534 lines
63 KiB
Vue
Raw Normal View History

2022-06-14 09:32:49 +08:00
var group = ["标号","解除锁定","对象可见性","常用:点", "主线", "衬线", "填充","注记", "子标号" ];
var displayName =["锁定","可见性","LibID","Code"];
var displayLineStyleName = [ "线宽", "线颜色","线型","线透明度" ];
var displaySurroundLineName = ["衬线类型", "衬线宽", "衬线颜色", "衬线透明度"];
var displayFillStyleName = ["填充", "填充色", "填充透明度","渐变填充方式","填充背景色","填充背景透明度","渐变填充角度","渐变填充水平偏移","渐变填充竖直偏移"];
var displayNameDot = ["旋转角度", "随图缩放", "镜像", "标号级别","位置点偏移","偏移线类型","宽高锁定","标号Width", "标号Height"];
var displayTextContentName =["注记内容", "注记位置", "注记大小", "注记颜色", "注记字体","注记距离",
"字间距","字宽百分比","字体描边", "描边色", "描边宽度",
"文字背景", "背景色", "文字阴影", "阴影色", "阴影偏移量X", "阴影偏移量Y"];
var groupNew =["组合类型","箭头类型","沿线类型","边框属性","半径","轨道设置","节点设置","连线类型","折线设置"];
var displayNameNew = ["箭头","箭身","箭尾",
"起始","终止",
"路径线","贝塞尔曲线","显示箭头","避让",
"标注框边框","圆角边框","对象标注边框",
"半径类型","半径角度","注记一","注记二",
"卫星轨道",
"节点类型","节点旋转角度",
"对象间连线",
"折线显示",
"文字对齐方式"];
function collectionPropertyGridRows(featuresParameter) {
var features = [];
var styles=[];
for(var i=0;i<featuresParameter.length;i++){
styles.push(featuresParameter[i].style);
if(featuresParameter[i].geometry === undefined) {
features.push(featuresParameter[i]);
}else{
features.push(featuresParameter[i].geometry);
}
}
var rows = [];
if(features.length === 0){
return rows = [];
}
var dotSelectFeatures = [];
var algoSelectFeatures = [];
var sameFeatures = [];
var otherFeatures = [];
var selectfeatures = [];
for(var i = 0; i < features.length; i++){
if(features[i].libID === features[0].libID && features[i].code === features[0].code) {
sameFeatures.push(features[i]);//是否是同一个标号
}
}
if(sameFeatures.length !== features.length){
for(var i = 0; i < features.length; i++){
if(features[i].symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
dotSelectFeatures.push(features[i]);//是否全是不同点标号
} else if(features[i].symbolType === SuperMap.Plot.SymbolType.ALGOSYMBOL){
algoSelectFeatures.push(features[i]); //是否全是不同线面标号
} else {
otherFeatures.push(features[i]);
}
}
}
if(sameFeatures.length === features.length){
selectfeatures = features;
} else if(dotSelectFeatures.length === features.length){
selectfeatures = dotSelectFeatures;
} else if(algoSelectFeatures.length === features.length){
selectfeatures = algoSelectFeatures;
} else if(dotSelectFeatures.length > 0 && algoSelectFeatures.length > 0 && otherFeatures.length === 0 ){
selectfeatures = features;
} else if(otherFeatures.length > 0){
selectfeatures = features;
}
var selectfeature = selectfeatures[0];
var styleObject = styles[0];
if(selectfeatures.length === sameFeatures.length){
rows = [
{ "name": "标号几何ID", "value":selectfeature.symbolType, "group": group[0] },
{ "name": "标号库ID", "value": selectfeature.libID, "group": group[0] },
{ "name": "标号Code", "value": selectfeature.code, "group": group[0] },
{ "name": "标号名字", "value": selectfeature.symbolName, "group": group[0]}
];
}
//标号锁定
var lockedObj = new Object();
lockedObj.group = group[1];
lockedObj.name = displayName[0];
lockedObj.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
lockedObj.value = checkboxValueToString(selectfeature.getLocked());
//标号可见性
var visibilityObj = new Object();
visibilityObj.group = group[2];
visibilityObj.name = displayName[1];
visibilityObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getDisplayRows()}};
//visibilityObj.value = displayToString(selectfeature.style.display);
visibilityObj.value = displayToString(styleObject.display);
rows.push(lockedObj);
if(selectfeature.getLocked()) {
return rows;
}
rows.push(visibilityObj);
if(selectfeatures.length===sameFeatures.length || selectfeatures.length===dotSelectFeatures.length ||selectfeatures.length===algoSelectFeatures.length) {
rows = rows.concat(symbolPropertyObject(selectfeature,styleObject));
}
//addExtendProperty(rows,selectfeature);
return rows;
}
function checkboxValueToString(checkboxValue){
if(checkboxValue === true){
return "true";
} else if(checkboxValue === false){
return "false";
}
}
function fromCheckboxValue(checkboxStr){
if(checkboxStr === "true"){
return true;
} else if(checkboxStr === "false"){
return false;
}
}
/***
* 对象可见性
*/
function getDisplayRows() {
var rows = [];
rows.push({"value": "display", "text": "显示"});
rows.push({"value": "none", "text": "不显示"});
return rows;
}
function displayToString(display) {
if(display &&display === "none"){
return "不显示";
}
return "显示";
}
/**
* 8C使用线型
*/
function get8CLineStyleRows() {
var rows = [];
rows.push({"value": "solid", "text": "solid"});
rows.push({"value": "dot", "text": "dot"});
rows.push({"value": "dash", "text": "dash"});
rows.push({"value": "dashdot", "text": "dashdot"});
rows.push({"value": "longdash", "text": "longdash"});
rows.push({"value": "longdashdot", "text": "longdashdot"});
return rows;
}
/**
* 9D使用线型
*/
function lineStyleToString(lineStyle) {
if(lineStyle == 1)
return "长虚线";
else if(lineStyle == 2)
return "由点构成的直线";
else if(lineStyle == 3)
return "由线划线段组成的直线";
else if(lineStyle == 4)
return "由重复的线划点图案构成的直线";
else if(lineStyle == 0)
return "实线";
else if(lineStyle)
return "实线";
}
function getLineStyleRows() {
var rows = [];
rows.push({"value": "0", "text": "实线"});//实线(solid)
rows.push({"value": "1", "text": "长虚线"});//长虚线(longdash) //虚线(dash)
rows.push({"value": "2", "text": "由点构成的直线"});//由点构成的直线(dot)
rows.push({"value": "3", "text": "由线划线段组成的直线"});//由线划线段组成的直线(dashdot)(longdashdot)
rows.push({"value": "4", "text": "由重复的线划点图案构成的直线"});//由重复的划线点图案构成的直线
return rows;
}
/**
*注记位置
*/
function getAnnotationRows(geometry){
var annotations = [];
annotations.push({"value": "0", "text": "左上"});
annotations.push({"value": "1", "text": "左下"});
annotations.push({"value": "2", "text": "右上"});
annotations.push({"value": "3", "text": "右下"});
annotations.push({"value": "4", "text": "上"});
annotations.push({"value": "5", "text": "下"});
annotations.push({"value": "6", "text": "左"});
annotations.push({"value": "7", "text": "右"});
if(geometry.symbolData && geometry.symbolData.middleMarkExist)
annotations.push({"value": "8", "text": "中间"});
return annotations;
}
function annotationToString(annotation) {
if(annotation === 0)
return "左上";
else if(annotation === 1)
return "左下";
else if(annotation === 2)
return "右上";
else if(annotation === 3)
return "右下";
else if(annotation === 4)
return "上";
else if(annotation === 5)
return "下";
else if(annotation === 6)
return "左";
else if(annotation === 7)
return "右";
else if(annotation === 8)
return "中间";
}
/**
* 标号级别
*/
function symbolRankToString(symbolRank) {
if(symbolRank == 0)
return "无级别";
else if(symbolRank == 1)
return "军区级";
else if(symbolRank == 2)
return "副大军区级";
else if(symbolRank == 3)
return "集团军级";
else if(symbolRank == 4)
return "师级";
else if(symbolRank == 5)
return "旅级";
else if(symbolRank == 6)
return "团级";
else if(symbolRank == 7)
return "营级";
else if(symbolRank == 8)
return "连级";
else if(symbolRank == 9)
return "排级";
}
function getSymbolRankRows(geometry) {
var symbolRanks = [];
if(geometry.symbolData && geometry.symbolData.symbolRanks){
symbolRanks = geometry.symbolData.symbolRanks;
}
var rows = [];
rows.push({"value": "0", "text": "无级别"});
for(var i = 0; i < symbolRanks.length; i++)
{
if(symbolRanks[i] == 1)
rows.push({"value": "1", "text": "军区级"});
else if(symbolRanks[i] == 2)
rows.push({"value": "2", "text": "副大军区级"});
else if(symbolRanks[i] == 3)
rows.push({"value": "3", "text": "集团军级"});
else if(symbolRanks[i] == 4)
rows.push({"value": "4", "text": "师级"});
else if(symbolRanks[i] == 5)
rows.push({"value": "5", "text": "旅级"});
else if(symbolRanks[i] == 6)
rows.push({"value": "6", "text": "团级"});
else if(symbolRanks[i] == 7)
rows.push({"value": "7", "text": "营级"});
else if(symbolRanks[i] == 8)
rows.push({"value": "8", "text": "连级"});
else if(symbolRanks[i] == 9)
rows.push({"value": "9", "text": "排级"});
}
return rows;
}
/**
* 衬线
*/
function surroundLineTypeToString(symbolType, surroundLineType) {
if(symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
if(surroundLineType === 0)
return "无衬线";
else if(surroundLineType === 1)
return "有衬线";
} else {
if(surroundLineType === 0)
return "无衬线";
else if(surroundLineType === 1)
return "内侧衬线";
else if(surroundLineType === 2)
return "外侧衬线";
else if(surroundLineType === 3)
return "双侧衬线";
}
}
function getSurroundLineTypeRows(symbolType) {
var rows = [];
if(symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
rows.push({"value": "0", "text": "无衬线"});
rows.push({"value": "1", "text": "有衬线"});
} else {
rows.push({"value": "0", "text": "无衬线"});
rows.push({"value": "1", "text": "内侧衬线"});
rows.push({"value": "2", "text": "外侧衬线"});
rows.push({"value": "3", "text": "双侧衬线"});
}
return rows;
}
/**
* 填充
*/
function fillGradientModeToString(fillGradientMode) {
if(fillGradientMode === "NONE"){
return "无渐变";
} else if(fillGradientMode === "LINEAR"){
return "线性渐变";
} else if(fillGradientMode === "RADIAL"){
return "辐射渐变";
} else {
return "无渐变";
}
}
function getFillGradientModeRows() {
var rows = [];
rows.push({"value": "NONE", "text": "无渐变"});
rows.push({"value": "LINEAR", "text": "线性渐变"});
rows.push({"value": "RADIAL", "text": "辐射渐变"});
return rows;
}
function fillToString(fillSymbolID,selectfeature) {
if(fillSymbolID === 0){
return "实填充";
} else if(fillSymbolID === 1){
return "无填充";
}
if (selectfeature.symbolType !== SuperMap.Plot.SymbolType.SYMBOLTEXT) {
if(fillSymbolID === 2){
return "向上斜填充";
} else if(fillSymbolID === 3){
return "十字填充";
} else if(fillSymbolID === 4){
return "交叉填充";
} else if(fillSymbolID === 5){
return "反斜线填充";
} else if(fillSymbolID === 6){
return "水平填充";
} else if(fillSymbolID === 7){
return "竖直填充";
}
}
}
function getFillRows(selectfeature) {
var rows = [];
rows.push({"value": 0, "text": "实填充"});
rows.push({"value": 1, "text": "无填充"});
if (selectfeature.symbolType !== SuperMap.Plot.SymbolType.SYMBOLTEXT) {
rows.push({"value": 2, "text": "向上斜填充"});
rows.push({"value": 3, "text": "十字填充"});
rows.push({"value": 4, "text": "交叉填充"});
rows.push({"value": 5, "text": "反斜线填充"});
rows.push({"value": 6, "text": "水平填充"});
rows.push({"value": 7, "text": "竖直填充"});
}
return rows;
}
/**
* 偏移线类型
*/
function positionOffsetTypeToString(positionOffsetType) {
if(positionOffsetType === 0){
return "直线";
} else if(positionOffsetType === 1){
return "线粗渐变";
}
}
function getPositionOffsetTypeRows() {
var rows = [];
rows.push({"value": "0", "text": "直线"});
rows.push({"value": "1", "text": "线粗渐变"});
return rows;
}
/**
* 沿线注记
*/
function getShowRows() {
var rows = [];
rows.push({"value": "true", "text": "显示"});
rows.push({"value": "false", "text": "不显示"});
return rows;
}
function showToString(show){
if(show === true){
return "显示";
} else if(show === false){
return "不显示";
}
}
function relLineTextToString(relLineText) {
if(relLineText === SuperMap.Plot.RelLineText.ONLINE)
return "线上";
else if(relLineText === SuperMap.Plot.RelLineText.ONLEFTLINE)
return "线左";
else if(relLineText === SuperMap.Plot.RelLineText.ONRIGHTLINE)
return "线右";
else if(relLineText === SuperMap.Plot.RelLineText.ONBOTHLINE)
return "双侧";
}
function getRelLineTextRows(){
var annotations = [];
annotations.push({"value": "0", "text": "线上"});
annotations.push({"value": "1", "text": "线左"});
annotations.push({"value": "2", "text": "线右"});
annotations.push({"value": "3", "text": "双侧"});
return annotations;
}
/***
* 对象间连线
*/
function lineRelationTypeToString(lineRelationType) {
if (lineRelationType == 0)
return "实直线";
else if (lineRelationType == 1)
return "虚直线";
else if (lineRelationType == 2)
return "箭头线";
}
function getLineRelationTypeRows() {
var rows = [];
rows.push({"value": "0", "text": "实直线"});
rows.push({"value": "1", "text": "虚直线"});
rows.push({"value": "2", "text": "箭头线"});
return rows;
}
/**
* 航线节点类型
*/
function routeNodeTypeToString(routeNodeType) {
if (routeNodeType === SuperMap.Plot.RouteNodeType.AIMING)
return "瞄准点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.COMMONROUTE)
return "普通航路点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.EXPANDING)
return "展开点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.INITIAL)
return "初始点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.LANCH)
return "发射点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.RENDEZVOUS)
return "会合点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.STANDBY)
return "待机点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.SUPPLY)
return "补给点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.TAKEOFF)
return "起飞点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.TURNING)
return "转弯点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.VISUALINITAL)
return "可视初始点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.VOLLEY)
return "齐射点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.WEAPONLAUNCH)
return "武器发射点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.TARGET)
return "目标点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.ATTACK)
return "攻击点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.SUPPRESS)
return "压制点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.EIGHTSPIRAL)
return "八字盘旋点";
else if (routeNodeType == SuperMap.Plot.RouteNodeType.HAPPYVALLEY)
return "跑马圈点";
}
function getRouteNodeTypeRows() {
var rows = [];
rows.push({"value": "AIMING", "text": "瞄准点"});
rows.push({"value": "COMMONROUTE", "text": "普通航路点"});
rows.push({"value": "EXPANDING", "text": "展开点"});
rows.push({"value": "INITIAL", "text": "初始点"});
rows.push({"value": "LANCH", "text": "发射点"});
rows.push({"value": "RENDEZVOUS", "text": "会合点"});
rows.push({"value": "STANDBY", "text": "待机点"});
rows.push({"value": "SUPPLY", "text": "补给点"});
rows.push({"value": "TAKEOFF", "text": "起飞点"});
rows.push({"value": "TURNING", "text": "转弯点"});
rows.push({"value": "VISUALINITAL", "text": "可视初始点"});
rows.push({"value": "VOLLEY", "text": "齐射点"});
rows.push({"value": "WEAPONLAUNCH", "text": "武器发射点"});
rows.push({"value": "TARGET", "text": "目标点"});
rows.push({"value": "ATTACK", "text": "攻击点"});
rows.push({"value": "SUPPRESS", "text": "压制点"});
rows.push({"value": "EIGHTSPIRAL", "text": "八字盘旋点"});
rows.push({"value": "HAPPYVALLEY", "text": "跑马圈点"});
return rows;
}
/**
*箭头线
*/
function arrowTypeToString(arrowType) {
if (arrowType == 0)
return "双线箭头";
else if (arrowType == 1)
return "实心三角形";
else if (arrowType == 2)
return "无箭头";
}
function getArrowTypeRows() {
var rows = [];
rows.push({"value": "0", "text": "双线箭头"});
rows.push({"value": "1", "text": "实心三角形"});
rows.push({"value": "2", "text": "无箭头"});
return rows;
}
/**
* 扇形区域
*/
function radiusTypeToString(radiusType) {
if (radiusType == 0)
return "不显示";
else if (radiusType == 1)
return "直线";
else if (radiusType == 2)
return "箭头线";
}
function getRadiusTypeRows() {
var rows = [];
rows.push({"value": "0", "text": "不显示"});
rows.push({"value": "1", "text": "直线"});
rows.push({"value": "2", "text": "箭头线"});
return rows;
}
/**
* 标注框
*/
function textBoxTypeToString(textBoxType) {
if (textBoxType == 0)
return "带角矩形边框";
else if (textBoxType == 1)
return "矩形边框";
else if (textBoxType == 3)
return "无边框";
}
function getTextBoxTypeRows() {
var rows = [];
rows.push({"value": "0", "text": "带角矩形边框"});
rows.push({"value": "1", "text": "矩形边框"});
rows.push({"value": "3", "text": "无边框"});
return rows;
}
/**
* 线型标注框
*/
function lineMarkingTypeToString(lineMarkingType) {
if(lineMarkingType === 1){
return "矩形边框";
} else if(lineMarkingType === 2){
return "线型底边";
}
}
function getLineMarkingTypeRows() {
var rows = [];
rows.push({"value": "1", "text": "矩形边框"});
rows.push({"value": "2", "text": "线型底边"});
return rows;
}
/**
* 复合箭头
* 箭头箭身箭尾
*/
function getArrowHeadTypeRows() {
var rows = [];
rows.push({"value": "0", "text": "双线箭头"});
rows.push({"value": "2", "text": "燕尾箭头"});
rows.push({"value": "3", "text": "实心三角形"});
rows.push({"value": "6", "text": "新燕尾箭头"});
rows.push({"value": "-1", "text": "无箭头"});
return rows;
}
function arrowHeadTypeToString(arrowHeadType) {
if (arrowHeadType == 0)
return "双线箭头";
else if (arrowHeadType == 2)
return "燕尾箭头";
else if (arrowHeadType == 3)
return "实心三角形";
else if (arrowHeadType == 6)
return "新燕尾箭头";
else if (arrowHeadType == -1)
return "无箭头";
}
function arrowBodyTypeToString(arrowBodyType) {
if (arrowBodyType == 0)
return "折线";
else if (arrowBodyType == 1)
return "贝塞尔曲线";
else if (arrowBodyType == 5)
return "新增箭身";
}
function getArrowBodyTypeRows() {
var rows = [];
rows.push({"value": "0", "text": "折线"});
rows.push({"value": "1", "text": "贝塞尔曲线"});
rows.push({"value": "5", "text": "新增箭身"});
return rows;
}
function arrowTailTypeToString(arrowTailType) {
if (arrowTailType == 0)
return "无箭尾";
else if (arrowTailType == 1)
return "直线箭尾";
else if (arrowTailType == 3)
return "燕尾箭尾";
}
function getArrowTailTypeRows() {
var rows = [];
rows.push({"value": "0", "text": "无箭尾"});
rows.push({"value": "1", "text": "直线箭尾"});
rows.push({"value": "3", "text": "燕尾箭尾"});
return rows;
}
/**
* 线面标号子标号
*/
function libIDToString(libID) {
if (libID == 421)
return "421(警用库)";
else if (libID == 100)
return "100(军队库)";
else if (libID == 123)
return "123(武警库)";
else if (libID == 900)
return "900(人防库)";
}
function subSymbolsTypeString(subSymbolsLength,geometry){
if(subSymbolsLength===0){
return "";
}else {
if(geometry.libID===100){
if(geometry.getSubSymbols()[0].code === 100){
return "陆军";
}else if(geometry.getSubSymbols()[0].code === 200){
return "海军";
}else if(geometry.getSubSymbols()[0].code === 300) {
return "空军";
}
}else if(geometry.libID===123){
if(geometry.getSubSymbols()[0].code === 10101){
return "武装警察部队";
}else if(geometry.getSubSymbols()[0].code === 10102){
return "防爆装甲";
}else if(geometry.getSubSymbols()[0].code === 10103) {
return "火炮";
}
}else if(geometry.libID===900){
if(geometry.getSubSymbols()[0].code === 910200){
return "人民防空重点城市";
}else if(geometry.getSubSymbols()[0].code === 910300){
return "人民防空基本指挥所";
}else if(geometry.getSubSymbols()[0].code === 910402) {
return "水路抢修专业队";
}
}else if(geometry.libID===0){
if(geometry.getSubSymbols()[0].code === 9){
return "刑警";
}else if(geometry.getSubSymbols()[0].code === 80103){
return "交警";
}else if(geometry.getSubSymbols()[0].code === 80109){
return "专业警";
}
}
}
}
function getSubSymbolsTypeRows(geometry){
var rows = [];
rows.push({"value": "0", "text": ""});
if(geometry.libID===100){
rows.push({"value": "100", "text": "陆军"});
rows.push({"value": "200", "text": "海军"});
rows.push({"value": "300", "text": "空军"});
}else if(geometry.libID===123){
rows.push({"value": "10101", "text": "武装警察部队"});
rows.push({"value": "10102", "text": "防爆装甲"});
rows.push({"value": "10103", "text": "火炮"});
}else if(geometry.libID===900){
rows.push({"value": "910200", "text": "人民防空重点城市"});
rows.push({"value": "910300", "text": "人民防空基本指挥所"});
rows.push({"value": "910402", "text": "水路抢修专业队"});
}else if(geometry.libID===0){
rows.push({"value": "9", "text": "刑警"});
rows.push({"value": "80103", "text": "交警"});
rows.push({"value": "80109", "text": "专业警"});
}
return rows;
}
/**
* 文字对齐
* 注记指示框标注框多角标注框线型标注框
*/
function fontAlignTypeToString(alignType) {
if(alignType === 'lm')
return "左对齐";
else if(alignType === 'rm')
return "右对齐";
else if(alignType === 'cm')
return "中间对齐";
else if(alignType === 'lt')
return "左上对齐";
else if(alignType === 'lb')
return "左下对齐";
else if(alignType === 'rt')
return "右上对齐";
else if(alignType === 'rb')
return "右下对齐";
}
function getFontAlignTypeRows() {
var rows = [];
rows.push({"value": "0", "text": "左对齐"});
rows.push({"value": "1", "text": "右对齐"});
rows.push({"value": "2", "text": "居中对齐"});
rows.push({"value": "3", "text": "左上对齐"});
rows.push({"value": "4", "text": "左下对齐"});
rows.push({"value": "5", "text": "右上对齐"});
rows.push({"value": "6", "text": "右下对齐"});
return rows;
}
function fontAlignTypeValue (value) {
if (value === '0'){
return 'lm';
}else if(value === '1'){
return 'rm';
}else if (value === '2'){
return 'cm';
}else if (value === '3'){
return 'lt';
}else if (value === '4'){
return 'lb';
}else if (value === '5'){
return 'rt';
}else if (value === '6'){
return 'rb';
}
}
//判断标号类型分类
function checkSymbolType(selectfeature){
if( selectfeature.symbolType === SuperMap.Plot.SymbolType.GROUPOBJECT ||
selectfeature.symbolType === SuperMap.Plot.SymbolType.FLAGGROUP||
selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRROUTE||
selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYROUTE||
selectfeature.symbolType === SuperMap.Plot.SymbolType.MISSILEROUTE||
selectfeature.symbolType === SuperMap.Plot.SymbolType.ROUTENODE||
selectfeature.symbolType === SuperMap.Plot.SymbolType.LITERATESIGN||
selectfeature.symbolType === SuperMap.Plot.SymbolType.SATELLITE||
selectfeature.symbolType === SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS||
selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||
selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRDEPLOYMENT||
selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT||
selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT1 ||
selectfeature.symbolType===SuperMap.Plot.SymbolType.TEXTSYMBOL
) {
return false;
}else{
return true;
}
}
function isCanAddText(selectfeature){
if( selectfeature.symbolType === SuperMap.Plot.SymbolType.POLYLINESYMBOL ||//直线
selectfeature.symbolType === SuperMap.Plot.SymbolType.PARALLELOGRAM ||//平行四边形
selectfeature.symbolType === SuperMap.Plot.SymbolType.CIRCLESYMBOL ||//圆
selectfeature.symbolType === SuperMap.Plot.SymbolType.ELLIPSESYMBOL ||//椭圆
selectfeature.symbolType === SuperMap.Plot.SymbolType.REGULARPOLYGON ||//正多边形
selectfeature.symbolType === SuperMap.Plot.SymbolType.ARBITRARYPOLYGONSYMBOL ||//任意多边形
selectfeature.symbolType === SuperMap.Plot.SymbolType.POLYBEZIERSYMBOL ||//贝塞尔曲线
selectfeature.symbolType === SuperMap.Plot.SymbolType.POLYBEZIERCLOSESYMBOL ||//闭合贝塞尔曲线
selectfeature.symbolType === SuperMap.Plot.SymbolType.KIDNEY ||//集结地
selectfeature.symbolType === SuperMap.Plot.SymbolType.BRACESYMBOL ||//大括号
selectfeature.symbolType === SuperMap.Plot.SymbolType.TRAPEZOIDSYMBOL ||//梯形
selectfeature.symbolType === SuperMap.Plot.SymbolType.RECTANGLESYMBOL ||//矩形
selectfeature.symbolType === SuperMap.Plot.SymbolType.CHORDSYMBOL ||//弓形
selectfeature.symbolType === SuperMap.Plot.SymbolType.PIESYMBOL ||//扇形
selectfeature.symbolType === SuperMap.Plot.SymbolType.ARCSYMBOL ||//弧线
selectfeature.symbolType === SuperMap.Plot.SymbolType.PARALLELLINE ||//平行线
selectfeature.symbolType === SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL ||//注记指示框
selectfeature.symbolType === SuperMap.Plot.SymbolType.CONCENTRICCIRCLE||//同心圆
selectfeature.symbolType === SuperMap.Plot.SymbolType.COMBINATIONALCIRCLE||//组合圆
selectfeature.symbolType === SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM ||//多角标注框
selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXTBOX ||//标注框
selectfeature.symbolType === SuperMap.Plot.SymbolType.FREECURVE ||//自由曲线
selectfeature.symbolType === SuperMap.Plot.SymbolType.NODECHAIN ||//节点链
selectfeature.symbolType === SuperMap.Plot.SymbolType.RUNWAY ||//跑道形
selectfeature.symbolType === SuperMap.Plot.SymbolType.CURVEEIGHT ||//8字形
selectfeature.symbolType === SuperMap.Plot.SymbolType.ARROWLINE ||//箭头线
selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT ||//沿线注记
selectfeature.symbolType === SuperMap.Plot.SymbolType.POLYGONREGION ||//多边形区域
selectfeature.symbolType === SuperMap.Plot.SymbolType.ARCREGION ||//扇形区域
selectfeature.symbolType === SuperMap.Plot.SymbolType.LINEMARKING //线型标注
){
return true;
}
}
function symbolPropertyObject(selectfeature,styleObject) {
//线形:线宽
var lineWidthObj = new Object();
lineWidthObj.group = group[4];
lineWidthObj.name = displayLineStyleName[0];
lineWidthObj.editor = "text";
if(styleObject.weight !==undefined){
lineWidthObj.value = styleObject.weight;
}else{
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.GROUPOBJECT){
lineWidthObj.value = selectfeature.getStrokeWidth();
}else{
lineWidthObj.value = styleObject.strokeWidth;
}
}
//线形:线色
var lineColorObj = new Object();
lineColorObj.group = group[4];
lineColorObj.name = displayLineStyleName[1];
lineColorObj.editor = "colorpicker";
if(styleObject.color !==undefined){
lineColorObj.value = styleObject.color;
}else{
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.GROUPOBJECT){
lineColorObj.value = selectfeature.getStrokeColor();
}else{
lineColorObj.value = styleObject.strokeColor;
}
}
//线形:线型
var lineStyleObj = new Object();
lineStyleObj.group = group[4];
lineStyleObj.name = displayLineStyleName[2];
if(styleObject.lineSymbolID !== undefined){
lineStyleObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getLineStyleRows()}};
lineStyleObj.value = lineStyleToString(styleObject.lineSymbolID);
}else{
lineStyleObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": get8CLineStyleRows() }};
lineStyleObj.value = styleObject.strokeDashstyle;
}
//线形:线透明度
var lineOpaqueRateObj = new Object();
lineOpaqueRateObj.group = group[4];
lineOpaqueRateObj.name = displayLineStyleName[3];
lineOpaqueRateObj.editor = "text";
if( styleObject.opacity !==undefined){
lineOpaqueRateObj.value = styleObject.opacity;
}else{
lineOpaqueRateObj.value = styleObject.strokeOpacity;
}
//衬线:衬线类型
var surroundLineTypeObj = new Object();
surroundLineTypeObj.group = group[5];
surroundLineTypeObj.name = displaySurroundLineName[0];
surroundLineTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getSurroundLineTypeRows(selectfeature.symbolType)}};
if(checkSymbolType(selectfeature)===true){
surroundLineTypeObj.value = surroundLineTypeToString(selectfeature.symbolType, selectfeature.getSurroundLineType());
}
//衬线:衬线宽
var surroundLineWidthObj = new Object();
surroundLineWidthObj.group = group[5];
surroundLineWidthObj.name = displaySurroundLineName[1];
surroundLineWidthObj.editor = "text";
surroundLineWidthObj.value = styleObject.surroundLineWidth;
//衬线:衬线色
var surroundLineColorObj = new Object();
surroundLineColorObj.group = group[5];
surroundLineColorObj.name = displaySurroundLineName[2];
surroundLineColorObj.editor = "colorpicker";
surroundLineColorObj.value = styleObject.surroundLineColor;
//衬线:衬线透明度
var surroundLineColorOpaObj = new Object();
surroundLineColorOpaObj.group = group[5];
surroundLineColorOpaObj.name = displaySurroundLineName[3];
surroundLineColorOpaObj.editor = "text";
surroundLineColorOpaObj.value = styleObject.surroundLineColorOpacity;
//填充:填充
var fillObj = new Object();
fillObj.group = group[6];
fillObj.name = displayFillStyleName[0];
fillObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getFillRows(selectfeature)}};
fillObj.value = fillToString(parseFloat(styleObject.fillSymbolID),selectfeature);
//填充:填充色
var fillforeColorObj = new Object();
fillforeColorObj.group = group[6];
fillforeColorObj.name = displayFillStyleName[1];
fillforeColorObj.editor = "colorpicker";
fillforeColorObj.value = styleObject.fillColor;
//填充:填充透明度
var fillOpaqueRateObj = new Object();
fillOpaqueRateObj.group = group[6];
fillOpaqueRateObj.name = displayFillStyleName[2];
fillOpaqueRateObj.editor = "text";
fillOpaqueRateObj.value = styleObject.fillOpacity;
//填充:渐变填充方式
var fillGradientModeObj = new Object();
fillGradientModeObj.group = group[6];
fillGradientModeObj.name = displayFillStyleName[3];
fillGradientModeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getFillGradientModeRows()}};
fillGradientModeObj.value = fillGradientModeToString(styleObject.fillGradientMode);
//填充:填充背景色
var fillBackColorObj = new Object();
fillBackColorObj.group = group[6];
fillBackColorObj.name = displayFillStyleName[4];
fillBackColorObj.editor = "colorpicker";
fillBackColorObj.value = styleObject.fillBackColor;
//填充:填充背景透明度
var fillBackOpacityObj = new Object();
fillBackOpacityObj.group = group[6];
fillBackOpacityObj.name = displayFillStyleName[5];
fillBackOpacityObj.editor = "text";
fillBackOpacityObj.value = styleObject.fillBackOpacity;
//填充:渐变填充角度
var fillBackAngleObj = new Object();
fillBackAngleObj.group = group[6];
fillBackAngleObj.name = displayFillStyleName[6];
fillBackAngleObj.editor = "text";
fillBackAngleObj.value = styleObject.fillAngle;
//填充:渐变填充水平偏移
var fillBackXObj = new Object();
fillBackXObj.group = group[6];
fillBackXObj.name = displayFillStyleName[7];
fillBackXObj.editor = "text";
fillBackXObj.value = styleObject.fillCenterOffsetX;
//填充:渐变填充竖直偏移
var fillBackYObj = new Object();
fillBackYObj.group = group[6];
fillBackYObj.name = displayFillStyleName[8];
fillBackYObj.editor = "text";
fillBackYObj.value = styleObject.fillCenterOffsetY;
//注记:注记内容
var textContentObj = new Object();
textContentObj.group = group[7];
textContentObj.name = displayTextContentName[0];
textContentObj.editor = "text";
textContentObj.value = selectfeature.getTextContent();
//注记:注记位置
var markPosObj = new Object();
markPosObj.group = group[7];
markPosObj.name = displayTextContentName[1];
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT) {
markPosObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getRelLineTextRows(selectfeature.getRelLineText()) }};
markPosObj.value = relLineTextToString(selectfeature.getRelLineText());
}else{
markPosObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getAnnotationRows(selectfeature) }};
markPosObj.value = annotationToString(selectfeature.getTextPosition());
}
//注记:注记字体大小
var fontSizeObj = new Object();
fontSizeObj.group = group[7];
fontSizeObj.name = displayTextContentName[2];
fontSizeObj.editor = "text";
fontSizeObj.value = styleObject.fontSize;
//注记:注记字体颜色
var fontColorObj = new Object();
fontColorObj.group = group[7];
fontColorObj.name = displayTextContentName[3];
fontColorObj.editor = "colorpicker";
fontColorObj.value = styleObject.fontColor;
//注记:注记字体名称
var fontFamilyObj = new Object();
fontFamilyObj.group = group[7];
fontFamilyObj.name = displayTextContentName[4];
fontFamilyObj.editor = "text";
fontFamilyObj.value = styleObject.fontFamily;
//注记:注记与标号的间距
var fontSpaceObj = new Object();
fontSpaceObj.group = group[7];
fontSpaceObj.name = displayTextContentName[5];
fontSpaceObj.editor = "text";
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT || selectfeature.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
fontSpaceObj.value = selectfeature.getSpace();
}
//注记:字间距
var fontSpaceObj1 = new Object();
fontSpaceObj1.group = group[7];
fontSpaceObj1.name = displayTextContentName[6];
fontSpaceObj1.editor = "text";
fontSpaceObj1.value = styleObject.fontSpace;
//注记:字宽百分比
var fontPercentObj = new Object();
fontPercentObj.group = group[7];
fontPercentObj.name = displayTextContentName[7];
fontPercentObj.editor = "text";
fontPercentObj.value = styleObject.fontPercent;
//注记:字体描边
var fontStrokeObj = new Object();
fontStrokeObj.group = group[7];
fontStrokeObj.name = displayTextContentName[8];
fontStrokeObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
fontStrokeObj.value = checkboxValueToString(styleObject.fontStroke);
//注记:描边色
var fontStrokeColorObj = new Object();
fontStrokeColorObj.group = group[7];
fontStrokeColorObj.name = displayTextContentName[9];
fontStrokeColorObj.editor = "colorpicker";
fontStrokeColorObj.value = styleObject.fontStrokeColor;
//注记:描边宽度
var fontStrokeWidthObj = new Object();
fontStrokeWidthObj.group = group[7];
fontStrokeWidthObj.name = displayTextContentName[10];
fontStrokeWidthObj.editor = "text";
fontStrokeWidthObj.value = styleObject.fontStrokeWidth;
//注记:文字背景
var fontBackObj = new Object();
fontBackObj.group = group[7];
fontBackObj.name = displayTextContentName[11];
fontBackObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
fontBackObj.value = checkboxValueToString(styleObject.fontBackground);
//注记:背景色
var fontBackColorObj = new Object();
fontBackColorObj.group = group[7];
fontBackColorObj.name = displayTextContentName[12];
fontBackColorObj.editor = "colorpicker";
fontBackColorObj.value = styleObject.fontBackgroundColor;
//注记:文字阴影
var fontShadowObj = new Object();
fontShadowObj.group = group[7];
fontShadowObj.name = displayTextContentName[13];
fontShadowObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
fontShadowObj.value = checkboxValueToString(styleObject.fontShadow);
//注记:阴影色
var fontShadowColorObj = new Object();
fontShadowColorObj.group = group[7];
fontShadowColorObj.name = displayTextContentName[14];
fontShadowColorObj.editor = "colorpicker";
fontShadowColorObj.value = styleObject.fontShadowColor;
//注记阴影偏移量X
var fontShadowOffsetXObj = new Object();
fontShadowOffsetXObj.group = group[7];
fontShadowOffsetXObj.name = displayTextContentName[15];
fontShadowOffsetXObj.editor = "text";
fontShadowOffsetXObj.value = styleObject.fontShadowOffsetX;
//注记阴影偏移量Y
var fontShadowOffsetYObj = new Object();
fontShadowOffsetYObj.group = group[7];
fontShadowOffsetYObj.name = displayTextContentName[16];
fontShadowOffsetYObj.editor = "text";
fontShadowOffsetYObj.value = styleObject.fontShadowOffsetY;
var rows = [];
//线形
var lineRows = [];
lineRows.push(lineWidthObj);
lineRows.push(lineColorObj);
lineRows.push(lineStyleObj);
lineRows.push(lineOpaqueRateObj);
//衬线
var surroundLineRows =[];
surroundLineRows.push(surroundLineTypeObj);
surroundLineRows.push(surroundLineWidthObj);
surroundLineRows.push(surroundLineColorObj);
surroundLineRows.push(surroundLineColorOpaObj);
//填充
var fillRows =[];
fillRows.push(fillObj);
fillRows.push(fillGradientModeObj);
if(styleObject.fillGradientMode === "NONE" && styleObject.fillSymbolID === 0){
fillRows.push(fillforeColorObj);
fillRows.push(fillOpaqueRateObj);
}else if(styleObject.fillGradientMode === "NONE" &&
styleObject.fillSymbolID !== 0 &&
styleObject.fillSymbolID !== 1){
fillRows.push(fillforeColorObj);
fillRows.push(fillOpaqueRateObj);
fillRows.push(fillBackColorObj);
fillRows.push(fillBackOpacityObj);
}else if(styleObject.fillGradientMode !== "NONE"){
fillRows.push(fillforeColorObj);
fillRows.push(fillOpaqueRateObj);
fillRows.push(fillBackColorObj);
if(styleObject.fillGradientMode === "LINEAR"){
fillRows.push(fillBackAngleObj);
}
fillRows.push(fillBackXObj);
if(styleObject.fillGradientMode === "RADIAL"){
fillRows.push(fillBackYObj);
}
}
//文字
var textRows = [];
textRows.push(textContentObj);
textRows.push(fontColorObj);
textRows.push(fontFamilyObj);
textRows.push(fontSizeObj);
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT ||
selectfeature.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL) {
textRows.push(markPosObj);
if(selectfeature.getTextPosition() !== 8){
textRows.push(fontSpaceObj);
}
}
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL ||
selectfeature.symbolType === SuperMap.Plot.SymbolType.TEXTSYMBOL
){
textRows.push(fontPercentObj);
textRows.push(fontSpaceObj1);
textRows.push(fontStrokeObj);
if (styleObject.fontStroke === true) {
textRows.push(fontStrokeColorObj);
textRows.push(fontStrokeWidthObj);
}
textRows.push(fontBackObj);
if(styleObject.fontBackground === true){
textRows.push(fontBackColorObj);
}
textRows.push(fontShadowObj);
if (styleObject.fontShadow === true) {
textRows.push(fontShadowColorObj);
textRows.push(fontShadowOffsetXObj);
textRows.push(fontShadowOffsetYObj);
}
}
//图元文本
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.TEXTSYMBOL){
rows = rows.concat(textRows);
}
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.GROUPOBJECT||
selectfeature.symbolType === SuperMap.Plot.SymbolType.FLAGGROUP||
selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRROUTE||
selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYROUTE||
selectfeature.symbolType === SuperMap.Plot.SymbolType.MISSILEROUTE||
selectfeature.symbolType === SuperMap.Plot.SymbolType.LITERATESIGN||
selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRDEPLOYMENT||
selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT1||
selectfeature.symbolType === SuperMap.Plot.SymbolType.SATELLITETIMEWINDOWS||
selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYDEPLOYMENT
){
rows = rows.concat(lineRows);
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.AIRDEPLOYMENT||
selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYDEPLOYMENT){
rows = rows.concat(fillRows);
}
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.NAVYDEPLOYMENT||
selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT1){
rows.push(textContentObj);
rows.push(fontColorObj);
rows.push(fontFamilyObj);
rows.push(fontSizeObj);
}
}
//点标号自己独有属性
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL){
//常用:点:旋转角度
var dotSymbolRotateObj = new Object();
dotSymbolRotateObj.group = group[3];
dotSymbolRotateObj.name = displayNameDot[0];
dotSymbolRotateObj.editor = "text";
dotSymbolRotateObj.value = selectfeature.getRotate();
//常用:点:随图缩放
var dotScaleByMap = new Object();
dotScaleByMap.group = group[3];
dotScaleByMap.name = displayNameDot[1];
dotScaleByMap.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
dotScaleByMap.value = checkboxValueToString(selectfeature.getScaleByMap());
//常用:点:镜像
var dotSymbolNegativeImageObj = new Object();
dotSymbolNegativeImageObj.group = group[3];
dotSymbolNegativeImageObj.name = displayNameDot[2];
dotSymbolNegativeImageObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
dotSymbolNegativeImageObj.value = checkboxValueToString(selectfeature.getNegativeImage());
//常用:点:标号级别
var dotSymbolRankObj = new Object();
dotSymbolRankObj.group = group[3];
dotSymbolRankObj.name = displayNameDot[3];
dotSymbolRankObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getSymbolRankRows(selectfeature) }};
dotSymbolRankObj.value = symbolRankToString(selectfeature.getSymbolRank());
//常用:点:位置点偏移
var dotPositionOffset = new Object();
dotPositionOffset.group = group[3];
dotPositionOffset.name = displayNameDot[4];
dotPositionOffset.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
dotPositionOffset.value = checkboxValueToString(selectfeature.getPositionOffset());
//常用:点:偏移线类型
var dotPositionOffsetType = new Object();
dotPositionOffsetType.group = group[3];
dotPositionOffsetType.name = displayNameDot[5];
dotPositionOffsetType.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getPositionOffsetTypeRows() }};
dotPositionOffsetType.value = positionOffsetTypeToString(selectfeature.getPositionOffsetType());
//常用:点:宽高限定
var dotSymbolWidthHeightLimit = new Object();
dotSymbolWidthHeightLimit.group = group[3];
dotSymbolWidthHeightLimit.name = displayNameDot[6];
dotSymbolWidthHeightLimit.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
dotSymbolWidthHeightLimit.value = checkboxValueToString(selectfeature.getWidthHeightLimit());
//常用:点:军标大小
var dotSymbolWidthObj = new Object();
dotSymbolWidthObj.group = group[3];
dotSymbolWidthObj.name = displayNameDot[7];
dotSymbolWidthObj.editor = "text";
dotSymbolWidthObj.value = selectfeature.getSymbolSize().w;
var dotSymbolHeightObj = new Object();
dotSymbolHeightObj.group = group[3];
dotSymbolHeightObj.name = displayNameDot[8];
dotSymbolHeightObj.editor = "text";
dotSymbolHeightObj.value = selectfeature.getSymbolSize().h;
var dotSymbolRows = [];
dotSymbolRows.push(dotSymbolRotateObj);
dotSymbolRows.push(dotScaleByMap);
dotSymbolRows.push(dotSymbolNegativeImageObj);
dotSymbolRows.push(dotSymbolRankObj);
dotSymbolRows.push(dotPositionOffset);
dotSymbolRows.push(dotPositionOffsetType);
dotSymbolRows.push(dotSymbolWidthHeightLimit);
dotSymbolRows.push(dotSymbolWidthObj);
dotSymbolRows.push(dotSymbolHeightObj);
dotSymbolRows = dotSymbolRows.concat(lineRows);
dotSymbolRows = dotSymbolRows.concat(surroundLineRows);
dotSymbolRows = dotSymbolRows.concat(fillRows);
dotSymbolRows = dotSymbolRows.concat(textRows);
rows = rows.concat(dotSymbolRows);
}
if(selectfeature.symbolType !== SuperMap.Plot.SymbolType.DOTSYMBOL && checkSymbolType(selectfeature) === true){
var algoSymbolRows =[];
//线面标号子标号
for (var i = 0; i < selectfeature.getSubSymbols().length; i++) {
var objectSubCode = new Object();
objectSubCode.group = group[8];
objectSubCode.name = displayName[3];
objectSubCode.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getSubSymbolsTypeRows(selectfeature) }};
objectSubCode.index = i;
objectSubCode.value = selectfeature.getSubSymbols()[i].code;
algoSymbolRows.push(objectSubCode);
}
if((0 === selectfeature.getSubSymbols().length && selectfeature.libID === 0 && selectfeature.code === 1025)||
(0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 25200)||
(0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 3020901)||
(0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 23400) ||
(0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 30800) ||
(0 === selectfeature.getSubSymbols().length && selectfeature.libID === 100 && selectfeature.code === 26400)
){
var objectSubCode1 = new Object();
objectSubCode1.group = group[8];
objectSubCode1.name = displayName[3];
objectSubCode1.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getSubSymbolsTypeRows(selectfeature) }};
objectSubCode1.index = i;
objectSubCode1.value = subSymbolsTypeString(selectfeature.getSubSymbols().length,selectfeature);
algoSymbolRows.push(objectSubCode1);
}
if(selectfeature.code === 1025 && selectfeature.getSubSymbols().length > 0){
var objectLibID = new Object();
objectLibID.group = group[8];
objectLibID.name = displayName[2];
objectLibID.editor = "text";
objectLibID.value = libIDToString(selectfeature.getSubSymbols()[0].libID);
algoSymbolRows.push(objectLibID);
}
//四个点以上含4个点可以设置成折线显示
if (typeof selectfeature.isCanPolyLineConnectCode !== "undefined" && selectfeature.isCanPolyLineConnectCode()=== true ) {
var algoLineType = new Object();
algoLineType.group = groupNew[8];
algoLineType.name = displayNameNew[20];
algoLineType.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
algoLineType.value = checkboxValueToString(selectfeature.getPolylineConnectLocationPoint());
algoSymbolRows.push(algoLineType);
}
algoSymbolRows = algoSymbolRows.concat(lineRows);
algoSymbolRows = algoSymbolRows.concat(surroundLineRows);
algoSymbolRows = algoSymbolRows.concat(fillRows);
if(isCanAddText(selectfeature)===true){
algoSymbolRows = algoSymbolRows.concat(textRows);
}
rows = rows.concat(algoSymbolRows);
}
//注记指示框、多角标注框、标注框、线型标注框
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.ANNOFRAMESYMBOL||
selectfeature.symbolType === SuperMap.Plot.SymbolType.ANNOFRAMESYMBOLM||
selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXTBOX||
selectfeature.symbolType === SuperMap.Plot.SymbolType.LINEMARKING){
//文字对齐方式
var fontAlignType = new Object();
fontAlignType.group = group[7];
fontAlignType.name = displayNameNew[21];
fontAlignType.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getFontAlignTypeRows() }};
fontAlignType.value = fontAlignTypeToString(styleObject.labelAlign);
rows.push(fontAlignType);
//标注框边框
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXTBOX){
//标注框边框
var textBoxTypeObj = new Object();
textBoxTypeObj.group = groupNew[3];
textBoxTypeObj.name = displayNameNew[9];
textBoxTypeObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getTextBoxTypeRows() }};
textBoxTypeObj.value = textBoxTypeToString(selectfeature.getTextBoxType());
//圆角边框
var roundBoxObj = new Object();
roundBoxObj.group = groupNew[3];
roundBoxObj.name = displayNameNew[10];
roundBoxObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
roundBoxObj.value = checkboxValueToString(selectfeature.getRoundBox());
rows.push(textBoxTypeObj);
rows.push(roundBoxObj);
}
//线型标注框边框
if(selectfeature.symbolType === SuperMap.Plot.SymbolType.LINEMARKING){
var lineMarkingTextBoxTypeObj = new Object();
lineMarkingTextBoxTypeObj.group = groupNew[3];
lineMarkingTextBoxTypeObj.name = displayNameNew[9];
lineMarkingTextBoxTypeObj.editor = { "type": 'combobox', "options": { "valueField": 'value', "textField": 'text', "data": getLineMarkingTypeRows() }};
lineMarkingTextBoxTypeObj.value = lineMarkingTypeToString(selectfeature.getTextBoxType());
rows.push(lineMarkingTextBoxTypeObj);
}
}
//箭头线自己独有属性
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.ARROWLINE && selectfeature.libID === 0) {
var arrowTypeStartObj = new Object();
arrowTypeStartObj.group = groupNew[1];
arrowTypeStartObj.name = displayNameNew[3];
arrowTypeStartObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowTypeRows(selectfeature)}};
arrowTypeStartObj.value = arrowTypeToString(selectfeature.getStartArrowType());
var arrowTypeEndObj = new Object();
arrowTypeEndObj.group = groupNew[1];
arrowTypeEndObj.name = displayNameNew[4];
arrowTypeEndObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowTypeRows(selectfeature)}};
arrowTypeEndObj.value = arrowTypeToString(selectfeature.getEndArrowType());
rows.push(arrowTypeStartObj);
rows.push(arrowTypeEndObj);
}
//沿线注记自己独有属性
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.PATHTEXT) {
var showPathLineObj = new Object();
showPathLineObj.group = groupNew[2];
showPathLineObj.name = displayNameNew[5];
showPathLineObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getShowRows()}};
showPathLineObj.value = showToString(selectfeature.getShowPathLine());
var isCurveObj = new Object();
isCurveObj.group = groupNew[2];
isCurveObj.name = displayNameNew[6];
isCurveObj.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
isCurveObj.value = checkboxValueToString(selectfeature.getIsCurveLine());
var showPathLineArrowObj = new Object();
showPathLineArrowObj.group = groupNew[2];
showPathLineArrowObj.name = displayNameNew[7];
showPathLineArrowObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getShowRows()}};
showPathLineArrowObj.value = showToString(selectfeature.getShowPathLineArrow());
var isAvoidObj = new Object();
isAvoidObj.group = groupNew[2];
isAvoidObj.name = displayNameNew[8];
isAvoidObj.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
isAvoidObj.value = checkboxValueToString(selectfeature.getIsAvoidLine());
rows.push(showPathLineObj);
rows.push(isCurveObj);
rows.push(showPathLineArrowObj);
if(selectfeature.getRelLineText() === SuperMap.Plot.RelLineText.ONLINE){
rows.push(isAvoidObj);
}
}
//对象间连线
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.LINERELATION) {
var lineRelationTypeObj = new Object();
lineRelationTypeObj.name = displayNameNew[19];
lineRelationTypeObj.value = lineRelationTypeToString(selectfeature.getLineRelationType());
lineRelationTypeObj.group = groupNew[7];
lineRelationTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getLineRelationTypeRows()}};
rows.push(lineRelationTypeObj);
}
//扇形区域
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.ARCREGION) {
if (selectfeature.radiusLineType != null){
var radiusLineTypeObj = new Object();
radiusLineTypeObj.name = displayNameNew[12];
radiusLineTypeObj.value = radiusTypeToString(selectfeature.getRadiusLineType());
radiusLineTypeObj.group = groupNew[4];
radiusLineTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getRadiusTypeRows(selectfeature)}};
rows.push(radiusLineTypeObj);
}
if (selectfeature.radiusText != null) {
var radiusPosAngleObj = new Object();
radiusPosAngleObj.name = displayNameNew[13];
radiusPosAngleObj.value = selectfeature.getRadiusTextPos();
radiusPosAngleObj.group = groupNew[4];
radiusPosAngleObj.editor = "text";
var upTextObj = new Object();
upTextObj.name = displayNameNew[14];
upTextObj.value = selectfeature.getRadiusText(0);
upTextObj.group = groupNew[4];
upTextObj.editor = "text";
var downTextObj = new Object();
downTextObj.name = displayNameNew[15];
downTextObj.value = selectfeature.getRadiusText(1);
downTextObj.group = groupNew[4];
downTextObj.editor = "text";
rows.push(radiusPosAngleObj);
rows.push(upTextObj);
rows.push(downTextObj);
}
}
//航线
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.ROUTENODE) {
rows = rows.concat(lineRows);
var routeNodeTypeObj = new Object();
routeNodeTypeObj.name = displayNameNew[17];
routeNodeTypeObj.value = routeNodeTypeToString(selectfeature.routeNode.type);
routeNodeTypeObj.group = groupNew[6];
routeNodeTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getRouteNodeTypeRows()}};
var routeNodeRotate = new Object();
routeNodeRotate.name = displayNameNew[18];
routeNodeRotate.value = selectfeature.routeNode.rotate;
routeNodeRotate.group = groupNew[6];
routeNodeRotate.editor = "text";
rows.push(routeNodeTypeObj);
if (selectfeature.routeNode.type === SuperMap.Plot.RouteNodeType.STANDBY) {
rows.push(routeNodeRotate);
}
}
//对象标注的标注内容和标注边框
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT) {
var textContentObj1 = new Object();
textContentObj1.group = group[7];
textContentObj1.name = displayTextContentName[0];
textContentObj1.editor = "text";
textContentObj1.value = selectfeature.symbolTexts[0].textContent;
rows.push(textContentObj1);
if(selectfeature.symbolTexts.length == 2){
var textContentObj2 = new Object();
textContentObj2.group = group[7];
textContentObj2.name = displayTextContentName[0] + "2";
textContentObj2.editor = "text";
textContentObj2.value = selectfeature.symbolTexts[1].textContent;
rows.push(textContentObj2);
}
rows.push(fontColorObj);
rows.push(fontFamilyObj);
rows.push(fontSizeObj);
var symbolTextFrameObj = new Object();
symbolTextFrameObj.group = groupNew[3];
symbolTextFrameObj.name = displayNameNew[11];
symbolTextFrameObj.editor = { "type": 'checkbox', "options":{ "on":true, "off":false }};
symbolTextFrameObj.value = checkboxValueToString(selectfeature.getFrame());
rows.push(symbolTextFrameObj);
if(selectfeature.getFrame() === true){
rows.push(lineWidthObj);
rows.push(lineColorObj);
rows.push(lineOpaqueRateObj);
rows.push(fillObj);
rows.push(fillforeColorObj);
rows.push(fillOpaqueRateObj);
}
}
//卫星
if (selectfeature.symbolType === SuperMap.Plot.SymbolType.SATELLITE) {
var visibleObj = new Object();
visibleObj.name = displayNameNew[16];
visibleObj.value = showToString(selectfeature.getVisible());
visibleObj.group = groupNew[5];
visibleObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getShowRows()}};
rows = rows.concat(lineRows);
rows.push(textContentObj);
rows.push(fontColorObj);
rows.push(fontFamilyObj);
rows.push(fontSizeObj);
rows.push(visibleObj);
}
//复合箭头自己独有属性
if (selectfeature.libID === 22 && selectfeature.code === 1016) {
var arrowHeadTypeObj = new Object();
arrowHeadTypeObj.group = groupNew[0];
arrowHeadTypeObj.name = displayNameNew[0];
arrowHeadTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowHeadTypeRows()}};
arrowHeadTypeObj.value = arrowHeadTypeToString(selectfeature.getArrowHeadType());
var arrowBodyTypeObj = new Object();
arrowBodyTypeObj.group = groupNew[0];
arrowBodyTypeObj.name = displayNameNew[1];
arrowBodyTypeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowBodyTypeRows()}};
arrowBodyTypeObj.value = arrowBodyTypeToString(selectfeature.getArrowBodyType());
var arrowTailTypepeObj = new Object();
arrowTailTypepeObj.group = groupNew[0];
arrowTailTypepeObj.name = displayNameNew[2];
arrowTailTypepeObj.editor = {"type": 'combobox', "options": {"valueField": 'value', "textField": 'text', "data": getArrowTailTypeRows()}};
arrowTailTypepeObj.value = arrowTailTypeToString(selectfeature.getArrowTailType());
rows.push(arrowHeadTypeObj);
rows.push(arrowBodyTypeObj);
rows.push(arrowTailTypepeObj);
}
return rows;
}