成员(属性)
判断当前Cesium库 是否mars3d修改后的版本(mars3d-cesium库)
最后一个唯一ID,在stamp方法使用的
方法
执行alert弹窗(手动单击确定关闭窗口)
参数名称 | 类型 | 描述信息 |
---|---|---|
msg |
string |
弹窗内的内容 |
title |
string |
可选
弹窗的标题 |
返回值:
无
arcgis服务的json格式 转 geojson格式
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
arcgis |
object |
arcgis服务的json格式 |
|
idAttr |
string |
'OBJECTID'
|
可选
id字段名称 |
返回值:
geojson格式
复制克隆对象
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
obj |
object |
原始对象 |
|
removeKeys |
Array.<string> |
[]
|
可选
不复制的属性名 数组 |
level |
number |
5
|
可选
拷贝的层级最大深度,避免死循环 |
返回值:
克隆后的对象
获取随机唯一uuid字符串,包含数字、大写字母、小写字母
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
prefix |
string |
'm-'
|
可选
前缀 |
返回值:
字符串
导出下载图片文件
参数名称 | 类型 | 描述信息 |
---|---|---|
name |
string |
图片文件名称, 后缀名默认为.png |
base64 |
string |
图片内容,base64格式 |
返回值:
无
导出下载文本文件
参数名称 | 类型 | 描述信息 |
---|---|---|
fileName |
string |
文件完整名称,需要含后缀名 |
string |
string |
文本内容 |
mimeType |
string |
可选
MIME类型,如:'text/plain'、'text/html'、'application/json' |
返回值:
无
退出全屏
返回值:
是否全屏
GeoJSON格式的Feature单个对象转为 Graphic构造参数(用于创建BaseGraphic
)
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
feature |
object |
geojson单个Feature对象 |
|||||||||||||||||||||||||||||||||||||||||||||
options |
object |
{}
|
可选
参数,包括:
|
返回值:
Graphic构造参数(用于创建BaseGraphic
),其中多面的最大一个面会有isMultiMax为true的属性
请求服务返回JSON结果
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
请求参数
|
返回值:
返回Promise异步处理结果,对象为JSON数据
将 时间 转化为指定格式的字符串
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
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 位的数字). |
返回值:
指定格式的字符串
使用示例:
mars3d.Util.formatDate(date,"yyyy-MM-dd HH:mm:ss") ==> 2017-08-25 08:08:00
mars3d.Util.formatDate(date,"yyyy-MM-dd HH:mm:ss.S") ==> 2017-08-25 08:08:00.423
mars3d.Util.formatDate(date,"yyyy-M-d HH:mm:ss") ==> 2017-8-5 08:08:00
格式化数字,返回指定小数位的数字
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
num |
number |
数字 |
|
digits |
number |
0
|
可选
小数位数 |
返回值:
返回digits指定小数位的数字
格式化时长
参数名称 | 类型 | 描述信息 | ||||||
---|---|---|---|---|---|---|---|---|
timeNum |
number |
时长 |
||||||
options |
object |
可选
参数:
|
返回值:
格式化字符串,如XX小时XX分钟
事件中使用的 函数防抖, 说明:在delay毫秒内的多次调用操作,仅在最后一次调用时触发一次fn函数。
参数名称 | 类型 | 描述信息 |
---|---|---|
fn |
function |
执行的方法 |
delay |
number |
节流时间范围,毫秒数 |
返回值:
包含一层的替代方法
使用示例:
let newFun = mars3d.Util.funDebounce(this._changeFun, 500)
target.on("change", newFun) // 解绑用 target.off("change", newFun)
事件中使用的 函数节流, 说明:稀释fn函数的执行频率,但不管事件触发有多频繁,都会保证在delay毫秒内一定会执行一次fn函数
参数名称 | 类型 | 描述信息 |
---|---|---|
fn |
function |
执行的方法 |
delay |
number |
节流时间范围,毫秒数 |
返回值:
包含一层的替代方法
使用示例:
let newFun = mars3d.Util.funThrottle(this._changeFun, 500)
target.on("change", newFun) // 解绑用 target.off("change", newFun)
geojson格式 转 arcgis服务的json格式
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
geojson |
object |
geojson格式 |
|
idAttr |
string |
'OBJECTID'
|
可选
id字段名称 |
返回值:
arcgis服务的json格式
GeoJSON 转为 Graphic构造参数数组(用于创建BaseGraphic
)
style有3种方式控制: 1.传type及style参数;2.传symbol参数;3.数据本身的feature.properties.style;
优先级为:1>2>3
参数名称 | 类型 | 默认值 | 描述信息 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
geojson |
object |
geojson对象 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
object |
{}
|
可选
控制参数
|
返回值:
Graphic构造参数数组(用于创建BaseGraphic
),其中多面的最大一个面会有isMultiMax为true的属性
取3DTile模型瓦片的feature原有属性
参数名称 | 类型 | 描述信息 |
---|---|---|
feature |
Cesium.Cesium3DTileFeature | * |
Cesium内的属性对象 |
返回值:
最简的键值对属性对象
随机获取数组中的一个元素
参数名称 | 类型 | 描述信息 |
---|---|---|
arr |
Array |
数组 |
返回值:
获取到的随机元素
取属性值,简化Cesium内的属性,去掉getValue等,取最简的键值对。 方便popup、tooltip等构造方法使用
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
attr |
* |
Cesium内的属性对象 |
|||||||||||||||||
options |
object |
{}
|
可选
参数对象:
|
返回值:
最简的键值对属性对象
static mars3d.Util.getAvailability(availability, clock) → Cesium.TimeIntervalCollection
util/Util.js 666
指定时间范围内显示对象所用到的TimeIntervalCollection对象 SDK内 graphic.availability 等赋值时会自动调用该方法转换为cesium本身对象。
参数名称 | 类型 | 描述信息 |
---|---|---|
availability |
Cesium.TimeIntervalCollection | Cesium.TimeInterval | Array | object |
指定时间范围 |
clock |
Cesium.Clock |
可选
时钟对象,如果传数字秒数时,需要取 clock.startTime |
返回值:
JulianDate时间
获取时间范围的简单对象数组,用于对象的编辑
参数名称 | 类型 | 描述信息 |
---|---|---|
availability |
Cesium.TimeIntervalCollection |
指定时间范围 |
返回值:
JulianDate时间
获取Cesium颜色对象
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
color |
string | Cesium.Color | function |
Cesium的类名,方便识别判断 |
|
defval |
Cesium.Color |
可选
默认值 |
|
time |
Cesium.JulianDate |
Cesium.JulianDate.now()
|
可选
如果具有时间属于时,取指定的时间的值 |
返回值:
颜色值
获取Cesium对象值的最终value值, 因为cesium经常属性或绑定一层,通过本方法可以内部去判断是否有getValue或_value进行取最终value值。
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
obj |
* |
Cesium对象值 |
|
ClasName |
* |
可选
Cesium的类名,方便识别判断 |
|
time |
Cesium.JulianDate |
Cesium.JulianDate.now()
|
可选
如果具有时间属于时,取指定的时间的值 |
返回值:
最终value值
获取用于聚合的圆形图标对象
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
count |
number |
数字 |
|
options |
object |
{}
|
可选
参数对象: |
返回值:
base64图片对象,包含 data URI 的DOMString。
根据配置信息获取Cesium颜色对象
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
style |
object |
配置信息
|
|||||||||||||
defval |
Cesium.Color |
Cesium.Color.YELLOW
|
可选
默认值 |
返回值:
颜色值
获取浏览器类型及版本
返回值:
浏览器类型及版本,示例:{ type: 'Chrome', version: 71 }
获取GeoJSON中的features数组集合(自动判断数据来源)
参数名称 | 类型 | 描述信息 |
---|---|---|
geojson |
object |
geojson对象 |
返回值:
features数组集合
获取最新的全局唯一ID
返回值:
全局唯一ID ( ++lastId )
获取JulianDate时间
参数名称 | 类型 | 描述信息 |
---|---|---|
currTime |
Cesium.JulianDate | Date | string |
指定时间。当为String时,可以传入 '2021-01-01 12:13:00'; |
startTime |
Cesium.JulianDate |
可选
开始对象,如果传数字秒数时,是相当于startTime的增加秒数 |
返回值:
JulianDate时间
获取当前页面的url中的?传入参数对象集合
返回值:
参数名与参数值的键值对
获取当前页面的url中的?传入的指定参数值
参数名称 | 类型 | 描述信息 |
---|---|---|
name |
string |
指定参数名称 |
返回值:
获取到的参数值
获取字符串长度,区分中文和英文
参数名称 | 类型 | 描述信息 |
---|---|---|
str |
string |
字符串 |
返回值:
字符串长度
根据属性 和symbol配置 取style样式信息
参数名称 | 类型 | 描述信息 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
symbol |
object |
symbol配置
|
|||||||||||||||
attr |
object |
可选
数据属性对象 |
|||||||||||||||
callbackResult |
object |
可选
callback时的第3个回调参数 |
返回值:
style样式
获取Popup或Tooltip格式化Html字符串
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
{}
|
可选
参数对象:
|
返回值:
Html字符串
使用示例:
//template可以是'all' ,返回数据的全部属性信息
tiles3dLayer.bindPopup(function (event) {
var attr = event.graphic.attr
return mars3d.Util.getTemplateHtml({ title: '桥梁', template: 'all', attr: attr })
})
//template可以是格式化字符串模板
var html = mars3d.Util.getTemplateHtml({ title: '火星项目', template: "名称:{项目名称}<br />类型:{设施类型}<br />面积:{用地面积}亩<br />位置:{具体位置}", attr: item })
//可以是数组的template,按数组顺序构造,并转义字段名称
//
var html = mars3d.Util.getTemplateHtml({
title: '塔杆',
template: [
{ field: 'roadName', name: '所属线路' },
{ field: 'towerId', name: '杆塔编号' },
{ field: '杆塔型号', name: '杆塔型号' },
{ field: '杆塔性质', name: '杆塔性质' },
{ field: '杆塔类型', name: '杆塔类型' },
{ field: '设计单位', name: '设计单位' },
{ field: 'height', name: '海拔高度' },
],
attr: item,
})
文字转base64图片
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
text |
string |
文字内容 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
textStyle |
object |
{}
|
可选
参数对象:
|
返回值:
canvas对象
根据图层的config的配置信息,自动加上代理等配置返回Resource对象
参数名称 | 类型 | 描述信息 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
config |
object |
图层的配置信息
|
||||||||||||||||||
templateValues |
object |
可选
,同config.templateValues,便于合并. PS: config.templateValues优先级高于templateValues |
返回值:
Resource对象
根据当前高度获取地图层级
参数名称 | 类型 | 描述信息 |
---|---|---|
altitude |
number |
高度值 |
返回值:
地图层级,通常为 0-21
判断对象是否为Boolean类型
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
* |
对象 |
返回值:
是否为Boolean类型
判断对象是否为function方法
参数名称 | 类型 | 描述信息 |
---|---|---|
val |
* |
对象 |
返回值:
是否为function方法
判断对象是否为Number类型
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
* |
对象 |
返回值:
是否为Number类型
判断对象是否为Object类型
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
* |
对象 |
返回值:
是否为Object类型
当前是否是PC电脑浏览器。
返回值:
是否是PC电脑浏览器。
判断对象是否为纯粹的Object类型 (所谓"纯粹的对象",就是该对象是通过"{}"或"new Object"创建的)
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
* |
对象 |
返回值:
是否为Object类型
判断对象是否为简单类型(包括:String\Boolean\Number\Array)
参数名称 | 类型 | 描述信息 |
---|---|---|
value |
* |
对象 |
返回值:
是否为简单类型(包括:String\Boolean\Number\Array)
判断对象是否为String类型
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
* |
对象 |
返回值:
是否为String类型
static mars3d.Util.measureCanvasText(context, text, textStyle) → HTMLCanvasElement
util/Util.js 1789
继续期望绘制在Canvas上的文本的高宽值, 获取结果后可以执行:context.fillText(item.text, item.x, item.y, spacingWidth)
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
context |
string |
const context = canvas.getContext("2d") |
|||||||||||||||||||||||||
text |
string |
文字内容 |
|||||||||||||||||||||||||
textStyle |
object |
{}
|
可选
参数对象:
|
返回值:
canvas对象
合并对象,对二级子属性为Object的对象也会进行融合。
参数名称 | 类型 | 描述信息 |
---|---|---|
dest |
object |
目标对象 |
sources |
object |
需要融入合并的对象 |
返回值:
融合后的对象
执行msg提示窗(自动消失)
参数名称 | 类型 | 描述信息 |
---|---|---|
msg |
string |
弹窗内的内容 |
返回值:
无
按指定长度,对数字进行补零,返回指定长度的字符串
参数名称 | 类型 | 描述信息 |
---|---|---|
numStr |
number | string |
数字对象,示例:1234 |
n |
number |
指定长度,示例:8 |
返回值:
补零后的指定长度的字符串,示例:'00001234'
移除数组中的指定对象
参数名称 | 类型 | 描述信息 |
---|---|---|
arr |
Array |
数组 |
val |
* |
需要移除的数组元素对象 |
返回值:
对象是否移除成功
进入全屏
参数名称 | 类型 | 描述信息 |
---|---|---|
container |
HTMLElement |
指定DOM元素,如 map.container |
返回值:
是否全屏
请求服务返回结果,方法是基于axios库精简的
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
请求参数
|
返回值:
返回Promise异步处理结果,对象为response对象
根据空格分割字符串,并返回字符串数组(会自动去掉首位空格)
参数名称 | 类型 | 描述信息 |
---|---|---|
str |
string |
字符串 |
返回值:
分割后的字符串数组
标记对象,给对象赋予对象的全局唯一ID(_mars3d_id值)
参数名称 | 类型 | 描述信息 |
---|---|---|
obj |
object |
对象 |
返回值:
全局唯一ID ( ++lastId )
根据数据和格式化字符串模板,返回字符串
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
str |
string |
格式化字符串模版,属性字段为大括号,如 {name} |
|
data |
object |
数据对象 |
|
toEmpty |
boolean |
false
|
可选
是否将模板中未匹配项转为空值 |
返回值:
返回字符串
使用示例:
var str = mars3d.Util.template("<div>名称:{name}</div>", { name:"火星科技", date:"2017-8-25"} );
//str结果为 : "<div>名称:火星科技</div>"
除去字符串首尾的空格
参数名称 | 类型 | 描述信息 |
---|---|---|
str |
string |
字符串 |
返回值:
除去首尾空格的字符串
执行检测浏览器不支持webgl后的alert错误提示弹窗
返回值:
无
检测当前浏览器是否支持WebGL
返回值:
是否支持WebGL