Namespace: Util

SuperMap.Util

common 工具类。

Members

SuperMap.Util.DEFAULT_PRECISIONnumber

为了避免浮点精度错误而保留的有效位数。

Default Value:
14

SuperMap.Util.isSupportCanvas

浏览器是否支持 Canvas。

SuperMap.Util.lastSeqIDnumber

不断递增计数变量,用于生成唯一 ID。

Default Value:
0

Methods

SuperMap.Util.applyDefaults(to, from){Object}

common/commontypes/Util.js, line 238

Takes an object and copies any properties that don't exist from another properties, by analogy with SuperMap.Util.extend() from Prototype.js.

Name Type Description
to Object 可选

目标对象。

from Object

源对象。Any properties of this object that are undefined in the to object will be set on the to object.

Returns:
Type Description
Object A reference to the to object. Note that the to argument is modified in place and returned by this function.

SuperMap.Util.calculateDpi(viewBounds, viewer, scale, coordUnit, datumAxis){number}

common/commontypes/Util.js, line 759

计算 iServer 服务的 REST 图层的显示分辨率,需要从 iServer 的 REST 图层表述中获取 viewBounds、viewer、scale、coordUnit、datumAxis 五个参数,来进行计算。

Name Type Default Description
viewBounds SuperMap.Bounds

地图的参照可视范围,即地图初始化时默认的地图显示范围。

viewer SuperMap.Size

地图初始化时默认的地图图片的尺寸。

scale number

地图初始化时默认的显示比例尺。

coordUnit string 'degrees' 可选

投影坐标系统的地图单位。

datumAxis number 6378137 可选

地理坐标系统椭球体长半轴。用户自定义地图的 Options 时,若未指定该参数的值,则系统默认为 WGS84 参考系的椭球体长半轴 6378137。

Returns:
Type Description
number 返回图层显示分辨率。

SuperMap.Util.cloneObject(obj){Object}

common/commontypes/Util.js, line 982

克隆一个 Object 对象

Name Type Description
obj Object

需要克隆的对象。

Returns:
Type Description
Object 返回对象的拷贝对象,注意是新的对象,不是指向。

SuperMap.Util.copy(des, soc)

common/commontypes/Util.js, line 65

对象拷贝。

Name Type Description
des Object 可选

目标对象。

soc Object

源对象。

SuperMap.Util.copyAttributes(destination, source)

common/commontypes/Util.js, line 930

属性拷贝,不拷贝方法类名(CLASS_NAME)等。

Name Type Description
destination Object 可选

拷贝目标。

source Object

源对象。

SuperMap.Util.copyAttributesWithClip(destination, source, clip)

common/commontypes/Util.js, line 950

将源对象上的属性拷贝到目标对象上。(不拷贝 CLASS_NAME 和方法)

Name Type Description
destination Object 可选

目标对象。

source Object

源对象。

clip Array.<string>

源对象中禁止拷贝到目标对象的属性,目的是防止目标对象上不可修改的属性被篡改。

SuperMap.Util.createUniqueID(prefix){string}

common/commontypes/Util.js, line 435

创建唯一 ID 值。

Name Type Description
prefix string 可选

前缀。

Returns:
Type Description
string 唯一的 ID 值。

SuperMap.Util.extend(destination, source){Object}

common/commontypes/Util.js, line 28

复制源对象的所有属性到目标对象上,源对象上的没有定义的属性在目标对象上也不会被设置。

Name Type Description
destination Object 可选

目标对象。

source Object

源对象,其属性将被设置到目标对象上。

Returns:
Type Description
Object 目标对象。
Example
要复制 SuperMap.Size 对象的所有属性到自定义对象上,使用方法如下:
    var size = new SuperMap.Size(100, 100);
    var obj = {};
    SuperMap.Util.extend(obj, size);

SuperMap.Util.getBrowser(){Object}

common/commontypes/Util.js, line 653

获取浏览器相关信息。支持的浏览器包括:Opera,Internet Explorer,Safari,Firefox。

Returns:
Type Description
Object 获取浏览器名称、版本、设备名称。对应的属性分别为 name, version, device。

SuperMap.Util.getElement(){Array.<HTMLElement>}

common/commontypes/Util.js, line 106

获取 HTML 元素数组。

Returns:
Type Description
Array.<HTMLElement> HTML 元素数组。

SuperMap.Util.getParameters(url){Object}

common/commontypes/Util.js, line 374

从 URL 字符串中解析出参数对象。

Name Type Description
url string

URL。

Returns:
Type Description
Object 解析出的参数对象。

SuperMap.Util.getParameterString(params){string}

common/commontypes/Util.js, line 274

将参数对象转换为 HTTP 的 GET 请求中的参数字符串。例如:"key1=value1&key2=value2&key3=value3"。

Name Type Description
params Object

参数对象。

Returns:
Type Description
string HTTP 的 GET 请求中的参数字符串。

SuperMap.Util.getResolutionFromScale(scale, units){number}

common/commontypes/Util.js, line 567

比例尺转分辨率。

Name Type Default Description
scale number

比例尺。

units string 'degrees' 可选

比例尺单位。

Returns:
Type Description
number 分辨率。

SuperMap.Util.getResolutionFromScaleDpi(scale, dpi, coordUnit, datumAxis){number}

common/commontypes/Util.js, line 866

根据比例尺和 dpi 计算屏幕分辨率。

Name Type Default Description
scale number

比例尺。

dpi number

图像分辨率,表示每英寸内的像素个数。

coordUnit string 可选

投影坐标系统的地图单位。

datumAxis number 6378137 可选

地理坐标系统椭球体长半轴。用户自定义地图的 Options 时,若未指定该参数的值,则 DPI 默认按照 WGS84 参考系的椭球体长半轴 6378137 来计算。

Returns:
Type Description
number 返回当前比例尺下的屏幕分辨率。

SuperMap.Util.getScaleFromResolution(resolution, units){number}

common/commontypes/Util.js, line 586

分辨率转比例尺。

Name Type Default Description
resolution number

分辨率。

units string 'degrees' 可选

分辨率单位。

Returns:
Type Description
number 比例尺。

SuperMap.Util.getScaleFromResolutionDpi(resolution, dpi, coordUnit, datumAxis){number}

common/commontypes/Util.js, line 894

根据 resolution、dpi、coordUnit 和 datumAxis 计算比例尺。

Name Type Default Description
resolution number

用于计算比例尺的地图分辨率。

dpi number

图像分辨率,表示每英寸内的像素个数。

coordUnit string 可选

投影坐标系统的地图单位。

datumAxis number 6378137 可选

地理坐标系统椭球体长半轴。用户自定义地图的 Options 时,若未指定该参数的值,则 DPI 默认按照 WGS84 参考系的椭球体长半轴 6378137 来计算。

Returns:
Type Description
number 返回当前屏幕分辨率下的比例尺。

SuperMap.Util.getTextBounds(style, text, element){Object}

common/commontypes/Util.js, line 1068

获取文本外接矩形宽度与高度。

Name Type Description
style SuperMap.ThemeStyle

文本样式。

text string

文本内容。

element Object

DOM 元素。

Returns:
Type Description
Object 返回裁剪后的宽度,高度信息。

SuperMap.Util.indexOf(array, obj){number}

common/commontypes/Util.js, line 163

获取某对象再数组中的索引值。

Name Type Description
array Array

数组。

obj Object

对象。

Returns:
Type Description
number 某对象再数组中的索引值。

SuperMap.Util.isArray(a){boolean}

common/commontypes/Util.js, line 136

判断一个对象是否是数组。

Name Type Description
a Object

对象。

Returns:
Type Description
boolean 是否是数组。

SuperMap.Util.isElement(o){boolean}

common/commontypes/Util.js, line 127

instance of 的跨浏览器实现。

Name Type Description
o Object

对象。

Returns:
Type Description
boolean 是否是页面元素。

SuperMap.Util.isInTheSameDomain(url){boolean}

common/commontypes/Util.js, line 704

判断一个 URL 请求是否在当前域中。

Name Type Description
url string

URL 请求字符串。

Returns:
Type Description
boolean URL 请求是否在当前域中。

SuperMap.Util.lineIntersection(a1, a2, b1, b2){Object}

common/commontypes/Util.js, line 1023

判断两条线段是不是有交点。

Name Type Description
a1 SuperMap.Geometry.Point

第一条线段的起始节点。

a2 SuperMap.Geometry.Point

第一条线段的结束节点。

b1 SuperMap.Geometry.Point

第二条线段的起始节点。

b2 SuperMap.Geometry.Point

第二条线段的结束节点。

Returns:
Type Description
Object 如果相交返回交点,如果不相交返回两条线段的位置关系。

SuperMap.Util.modifyDOMElement(element, id, px, sz, position, border, overflow, opacity)

common/commontypes/Util.js, line 193

修改某 DOM 元素的许多属性。

Name Type Description
element HTMLElement

待修改的 DOM 元素。

id string 可选

DOM 元素的 ID。

px SuperMap.Pixel 可选

包含 DOM 元素的 style 属性的 left 和 top 属性。

sz SuperMap.Size 可选

包含 DOM 元素的 width 和 height 属性。

position string 可选

DOM 元素的 position 属性。

border string 可选

DOM 元素的 style 属性的 border 属性。

overflow string 可选

DOM 元素的 style 属性的 overflow 属性。

opacity number 可选

不透明度值。取值范围为(0.0 - 1.0)。

SuperMap.Util.normalizeScale(scale){number}

common/commontypes/Util.js, line 556
Name Type Description
scale number

比例尺。

Returns:
Type Description
number 返回正常的 scale 值。

SuperMap.Util.rad(x){number}

common/commontypes/Util.js, line 365

角度转弧度。

Name Type Description
x number

角度。

Returns:
Type Description
number 弧度。

SuperMap.Util.removeItem(array, item){Array}

common/commontypes/Util.js, line 147

从数组中删除某一项。

Name Type Description
array Array

数组。

item Object

数组中要删除的一项。

Returns:
Type Description
Array 执行删除操作后的数组。

SuperMap.Util.reset(obj)

common/commontypes/Util.js, line 81

销毁对象,将其属性置空。

Name Type Description
obj Object 可选

目标对象。

SuperMap.Util.supportCanvas(){boolean}

common/commontypes/Util.js, line 686

判断;浏览器是否支持 Canvas。

Returns:
Type Description
boolean 获取当前浏览器是否支持 HTML5 Canvas 。

SuperMap.Util.toFloat(number, precision){number}

common/commontypes/Util.js, line 349

将字符串以接近的精度转换为数字。

Name Type Default Description
number string

字符串。

precision number 14 可选

精度。

Returns:
Type Description
number 数字。

SuperMap.Util.toJSON(obj){string}

common/commontypes/Util.js, line 791

将对象转换成 JSON 字符串。

Name Type Description
obj Object

要转换成 JSON 的 Object 对象。

Returns:
Type Description
string 返回转换后的 JSON 对象。

SuperMap.Util.transformResult(result){Object}

common/commontypes/Util.js, line 917

转换查询结果。

Name Type Description
result Object

查询结果。

Returns:
Type Description
Object 转换后的查询结果。

SuperMap.Util.urlAppend(url, paramStr){string}

common/commontypes/Util.js, line 300

给 URL 追加查询参数。

Name Type Description
url string

待追加参数的 URL 字符串。

paramStr string

待追加的查询参数。

Returns:
Type Description
string 新的 URL。

SuperMap.Util.urlPathAppend(url, paramStr){string}

common/commontypes/Util.js, line 320

给 URL 追加 path 参数。

Name Type Description
url string

待追加参数的 URL 字符串。

paramStr string

待追加的path参数。

Returns:
Type Description
string 新的 URL。