Util

Util()

常用静态方法

方法

static mars2d.Util.alert(msg, title)void

执行alert弹窗

参数名称 类型 描述信息
msg String

弹窗内的内容

title String 可选

弹窗的标题

返回值:

static mars2d.Util.clone(obj, removeKeys, level)Object

复制克隆对象

参数名称 类型 默认值 描述信息
obj Object

原始对象

removeKeys Array.<String> [] 可选

不复制的属性名 数组

level Number 5 可选

拷贝的层级最大深度,避免死循环

返回值:

克隆后的对象

static mars2d.Util.createGuid(prefix)String

获取随机唯一uuid字符串,包含数字、大写字母、小写字母

参数名称 类型 默认值 描述信息
prefix String 'm' 可选

前缀

返回值:

字符串

static mars2d.Util.defined(a)Boolean

判断对象是否为空

参数名称 类型 描述信息
a *

判断的对象

返回值:

对象是否为空

static mars2d.Util.downloadBase64Image(name, base64)void

导出下载图片文件

参数名称 类型 描述信息
name string

图片文件名称, 后缀名默认为.png

base64 string

图片内容,base64格式

返回值:

static mars2d.Util.downloadFile(fileName, string)void

导出下载文本文件

参数名称 类型 描述信息
fileName string

文件完整名称,需要含后缀名

string string

文本内容

返回值:

static mars2d.Util.featureToGraphic(feature, options)Object

GeoJSON格式的Feature单个对象转为 Graphic构造参数(用于创建Graphic)

参数名称 类型 默认值 描述信息
feature Object

geojson单个Feature对象

options Object {} 可选

参数,包括:

参数名称 类型 默认值 描述信息
type GraphicType | String 可选

转为指定的类型

style Object {} 可选

Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。GraphicType

crs String 可选

原始数据的坐标系,如'EPSG:3857' (可以从 http://epsg.io查询)

onPointTrans function 可选

坐标转换方法,可用于对每个坐标做额外转换处理

filter function 可选

数据筛选方法,方法体内返回false时排除数据 filter:function(feature){return true}

返回值:

Graphic构造参数(用于创建Graphic)

static mars2d.Util.fetchJson(options)Promise.<Object>

请求服务返回json结果,方法是基于axios库精简的

参数名称 类型 描述信息
options Object

请求参数

参数名称 类型 默认值 描述信息
url String

服务URL地址

queryParameters Object 可选

与请求一起发送的 URL 参数,例如 {id: 1987 }

method String "get" 可选

请求类型

timeout Number 0 可选

是否超时

headers Object 可选

一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' }

返回值:

返回Promise异步处理结果,对象为response对象

static mars2d.Util.formatDate(date, fmt)string

将 时间 转化为指定格式的字符串

参数名称 类型 默认值 描述信息
date Date

时间

fmt string "yyyy-MM-dd HH:mm:ss" 可选

格式模版,月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符; 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字).

返回值:

指定格式的字符串

使用示例:
mars2d.Util.formatDate(date,"yyyy-MM-dd HH:mm:ss") ==> 2017-08-25 08:08:00
mars2d.Util.formatDate(date,"yyyy-MM-dd HH:mm:ss.S") ==> 2017-08-25 08:08:00.423
mars2d.Util.formatDate(date,"yyyy-M-d HH:mm:ss") ==> 2017-8-5 08:08:00

static mars2d.Util.formatNum(num, digits)Number

格式化数字,返回指定小数位的数字

参数名称 类型 默认值 描述信息
num Number

数字

digits Number 0 可选

小数位数

返回值:

返回digits指定小数位的数字

static mars2d.Util.formatTime(strtime)String

格式化时长

参数名称 类型 描述信息
strtime Number

时长

返回值:

格式化字符串,如XX小时XX分钟

static mars2d.Util.geoJsonToGraphics(geojson, options)Array.<Object>

GeoJSON 转为 Graphic构造参数数组 style有3种方式控制: 1.传type及style参数;2.传symbol参数;3.数据本身的feature.properties.style; 优先级为:1>2>3

参数名称 类型 默认值 描述信息
geojson Object

geojson对象

options Object {} 可选

控制参数

参数名称 类型 默认值 描述信息
type GraphicType | String 可选

转为指定的类型

style Object {} 可选

Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。GraphicType

symbol Object 可选

symbol配置,与style二选一

参数名称 类型 描述信息
type GraphicType | String 可选

标识数据类型

merge Boolean 可选

是否合并并覆盖json中已有的style,默认不合并,仅适用symbol配置。

styleOptions Object

Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。GraphicType

styleField String 可选

按 styleField 属性设置不同样式。

styleFieldOptions Object 可选

按styleField值与对应style样式的键值对象。

callback function 可选

自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }

crs String 可选

原始数据的坐标系,如'EPSG:3857' (可以从 http://epsg.io查询)

filter function 可选

数据筛选方法,方法体内返回false时排除数据 filter:function(feature){return true}

返回值:

Graphic构造参数数组

static mars2d.Util.getArrayRandomOne(arr)*

随机获取数组中的一个元素

参数名称 类型 描述信息
arr Array

数组

返回值:

获取到的随机元素

static mars2d.Util.getAttrVal(attr, options)Object

取属性值,最简的键值对。 方便popup、tooltip等构造方法使用

参数名称 类型 默认值 描述信息
attr *

属性对象

options Object {} 可选

参数对象:

参数名称 类型 描述信息
onlySimpleType Boolean

是否只获取简易类型的对象

返回值:

最简的键值对属性对象

static mars2d.Util.getGeoJsonFeatures(geojson)Array.<Object>

获取GeoJSON中的features数组集合(自动判断数据来源)

参数名称 类型 描述信息
geojson Object

geojson对象

返回值:

features数组集合

static mars2d.Util.getStrLength(str)Number

获取字符串长度,区分中文和英文

参数名称 类型 描述信息
str String

字符串

返回值:

字符串长度

static mars2d.Util.getSymbolStyle(symbol, attr)Object

根据属性 和symbol配置 取style样式信息

参数名称 类型 描述信息
symbol Object

symbol配置

参数名称 类型 描述信息
styleOptions Object

Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。GraphicType

styleField String 可选

按 styleField 属性设置不同样式。

styleFieldOptions Object 可选

按styleField值与对应style样式的键值对象。

callback function 可选

自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }

attr Object 可选

数据属性对象

返回值:

style样式

static mars2d.Util.getTemplateHtml(options)String

获取Popup或Tooltip格式化Html字符串

参数名称 类型 默认值 描述信息
options Object {} 可选

参数对象:

参数名称 类型 默认值 描述信息
attr Object

属性值

template String | Array.<Globe.getTemplateHtml_template> | function | *

模版配置,支持:'all'、数组、字符串模板

title String 可选

标题

edit Boolean false 可选

是否返回编辑输入框

width Number 190 可选

edit:true时的,编辑输入框宽度值

返回值:

Html字符串

使用示例:
//template可以是'all' ,返回数据的全部属性信息
tiles3dLayer.bindPopup(function (event) {
  var attr = event.graphic.attr
  return mars2d.Util.getTemplateHtml({ title: '桥梁', template: 'all', attr: attr })
})

//template可以是格式化字符串模板
var html = mars2d.Util.getTemplateHtml({ title: '火星项目', template:  "名称:{项目名称}<br />类型:{设施类型}<br />面积:{用地面积}亩<br />位置:{具体位置}", attr: item })

//可以是数组的template,按数组顺序构造,并转义字段名称
//
var html = mars2d.Util.getTemplateHtml({
  title: '塔杆',
  template: [
    { field: 'roadName', name: '所属线路' },
    { field: 'towerId', name: '杆塔编号' },
    { field: '杆塔型号', name: '杆塔型号' },
    { field: '杆塔性质', name: '杆塔性质' },
    { field: '杆塔类型', name: '杆塔类型' },
    { field: '设计单位', name: '设计单位' },
    { field: 'height', name: '海拔高度' },
  ],
  attr: item,
})

static mars2d.Util.isBoolean(obj)Boolean

判断对象是否为Boolean类型

参数名称 类型 描述信息
obj *

对象

返回值:

是否为Boolean类型

static mars2d.Util.isFunction(val)Boolean

判断对象是否为function方法

参数名称 类型 描述信息
val *

对象

返回值:

是否为function方法

static mars2d.Util.isNumber(obj)Boolean

判断对象是否为Number类型

参数名称 类型 描述信息
obj *

对象

返回值:

是否为Number类型

static mars2d.Util.isObject(obj)Boolean

判断对象是否为Object类型

参数名称 类型 描述信息
obj *

对象

返回值:

是否为Object类型

static mars2d.Util.isPlainObject(obj)Boolean

判断对象是否为纯粹的Object类型 (所谓"纯粹的对象",就是该对象是通过"{}"或"new Object"创建的)

参数名称 类型 描述信息
obj *

对象

返回值:

是否为Object类型

static mars2d.Util.isSimpleType(value)Boolean

判断对象是否为简单类型(包括:String\Boolean\Number\Array)

参数名称 类型 描述信息
value *

对象

返回值:

是否为简单类型(包括:String\Boolean\Number\Array)

static mars2d.Util.isString(obj)Boolean

判断对象是否为String类型

参数名称 类型 描述信息
obj *

对象

返回值:

是否为String类型

static mars2d.Util.merge(dest, sources)Object

合并对象,对二级子属性为Object的对象也会进行融合。

参数名称 类型 描述信息
dest Object

目标对象

sources Object

需要融入合并的对象

返回值:

融合后的对象

static mars2d.Util.mm2px(mm)Number

毫米数值 转为 像素数值

参数名称 类型 描述信息
mm Number

毫米数值

返回值:

像素数值

static mars2d.Util.msg(msg)void

执行msg提示窗(自动消失)

参数名称 类型 描述信息
msg String

弹窗内的内容

返回值:

static mars2d.Util.padLeft0(numStr, n)String

按指定长度,对数字进行补零,返回指定长度的字符串

参数名称 类型 描述信息
numStr Number | String

数字对象,示例:1234

n Number

指定长度,示例:8

返回值:

补零后的指定长度的字符串,示例:'00001234'

static mars2d.Util.randomColor()String

获取随机颜色

返回值:

/返回rgb(r,g,b)格式颜色

static mars2d.Util.removeArrayItem(arr, val)Boolean

移除数组中的指定对象

参数名称 类型 描述信息
arr Array

数组

val *

需要移除的数组元素对象

返回值:

对象是否移除成功

static mars2d.Util.sendAjax(options)Promise.<Object>

请求服务返回结果,方法是基于axios库精简的

参数名称 类型 描述信息
options Object

请求参数

参数名称 类型 默认值 描述信息
url String

服务URL地址

queryParameters Object 可选

与请求一起发送的 URL 参数,例如 {id: 1987 }

method String "get" 可选

请求类型

timeout Number 0 可选

是否超时

headers Object 可选

一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' }

返回值:

返回Promise异步处理结果,对象为response对象

static mars2d.Util.splitWords(str)Array.<String>

根据空格分割字符串,并返回字符串数组(会自动去掉首位空格)

参数名称 类型 描述信息
str String

字符串

返回值:

分割后的字符串数组

static mars2d.Util.template(str, data, toEmpty)String

根据数据和格式化字符串模板,返回字符串

参数名称 类型 默认值 描述信息
str String

格式化字符串模版,属性字段为大括号,如 {name}

data Object

数据对象

toEmpty Boolean false 可选

是否将模板中未匹配项转为空值

返回值:

返回字符串

使用示例:
var str = mars2d.Util.template("<div>名称:{name}</div>", { name:"火星科技", date:"2017-8-25"} );
 //str结果为 : "<div>名称:火星科技</div>"

static mars2d.Util.trim(str)String

除去字符串首尾的空格

参数名称 类型 描述信息
str String

字符串

返回值:

除去首尾空格的字符串