ESMapUtil

描述:
  • 三维场景工具模块

三维场景工具模块

方法

(static) buildCurvePoints(param) → {Array.<Coord>}

描述:
  • 根据点集合构建曲线

参数:
名称 类型 描述
param object
属性
名称 类型 描述
points Array.<Coord>

点集合

radius number

曲率半径

segments number

曲线分段数

返回值:
类型
Array.<Coord>

(static) colorRGB2Hex(color) → {string}

描述:
  • 将rgb颜色转换成16进制字符串形式

示例
var color = esmap.ESMapUtil.colorRGB2Hex('255,255,255');
参数:
名称 类型 描述
color string
返回值:
类型
string

(static) containPolygons(a, b) → {boolean}

描述:
  • 判断一个多边形是否包含另外一个多边形

参数:
名称 类型 描述
a Array.<Coord>
b Array.<Coord>
返回值:
类型
boolean

(static) getAlias(a)

描述:
  • 判断对象a的类型,返回构造函数创建它时的别名

参数:
名称 类型 描述
a Object

参数a

(static) getControlsInfo()

描述:
  • 获取控制器的信息

(static) getDatasByAlias()

描述:
  • 根据别名获取数据。 为查询函数提供方法。

(static) getDistance(coordA, coordB) → {number}

描述:
  • 根据经纬度计算两点之间的距离

示例
var dis = esmap.ESMapUtil.getDistance({x: 12683490.6, y: 2557878.79}, {x: 12683459.98, y: 2557874.12});
参数:
名称 类型 描述
coordA Coord
coordB Coord
返回值:
类型
number

(static) getMapScene(a)

描述:
  • 根据a递归,最终获取整个三维场景的Scene三维场景

参数:
名称 类型 描述
a Object

(static) getOrthoCameraSizeByPerspectiveCamera(camera, control, c)

描述:
  • 计算正交照相机的可视范围

参数:
名称 类型 描述
camera Object

相机对象

control *

控制器

c *

(static) getPlatform() → {Object}

描述:
  • 获取终端信息

返回值:

平台信息

类型
Object

(static) getPolygonBounds(points) → {Bound}

描述:
  • 根据多边形计算边界

示例
var points = [
{x: 12683490.6, y: 2557878.79},
{x: 12683459.98, y: 2557874.12},
//...多边形点集
]
var bound = esmap.ESMapUtil.getPolygonBounds(points);
参数:
名称 类型 描述
points Array
返回值:
类型
Bound

(static) getRouteAngle(a, b) → {number}

描述:
  • 根据起点终点计算向量角度

示例
let angle = getRouteAngle({x: 12683490.6, y: 2557878.79}, {x: 12683459.98, y: 2557874.12});
参数:
名称 类型 描述
a Coord
b Coord
返回值:

角度°

类型
number

(static) hexToRgb(str) → {string}

描述:
  • 将hex颜色转换成rgb字符串形式

示例
var color = esmap.ESMapUtil.hexToRgb('#FF0000');
参数:
名称 类型 描述
str string
返回值:
类型
string

(static) intersectPolygons(a, b) → {boolean}

描述:
  • 判断两个多边形是否相交

参数:
名称 类型 描述
a Array.<Coord>

多边形1点集

b Array.<Coord>

多边形2点集

返回值:
类型
boolean

(static) loadTexture(url, callback) → {function}

描述:
  • 材质加载函数。

参数:
名称 类型 描述
url String
callback function
返回值:
类型
function

(static) pointInArea(point, polygon) → {boolean}

描述:
  • 计算一个点是否在多边形里

参数:
名称 类型 描述
point Coord
polygon Array.<Coord>
返回值:
类型
boolean

(static) restoreFloorAlpha(a, b)

参数:
名称 类型 描述
a *
b *

(static) search(map, queryScope, requestParams, callback) → {Promise}

描述:
  • 信息检索

参数:
名称 类型 描述
map esmap.ESMap

地图实例对象

queryScope object | array

搜索范围

属性
名称 类型 描述
bid string

建筑id

fnum number | array

建筑楼层

requestParams object

搜索条件

属性
名称 类型 属性 描述
ID number <optional>

根据ID搜索

keyword string <optional>

根据关键字模糊搜索

name string <optional>

根据名称搜索

dataID string <optional>

根据自定义ID(dataID)搜索

nodeType esmap.ESNodeType <optional>

根据类型搜索,类型列表参考esmap.ESNodeType

TypeID number <optional>

根据分类搜索

callback function

搜索回调

返回值:
类型
Promise

(static) searchJson(params) → {Promise}

描述:
  • 根据json搜索数据

示例
搜索: 所有名称为电梯的数据:
    esmap.ESMapUtil.searchJson({
        name: "电梯",
        onComplete: (e)=>console.log(e)
    })
搜索: id为2900的数据:
    esmap.ESMapUtil.searchJson({
        id: 2900,
        onComplete: (e)=>console.log(e)
    })
搜索: "test666"建筑中,分类为40004,且以"车位"为关键词进行模糊搜索
    esmap.ESMapUtil.searchJson({
        bid: "test666",
        keyword: "车位",
        typeID: 40004,
        onComplete: (e)=>console.log(e)
    })
keyword高级搜索功能:
匹配模式:
    1.模糊搜索 keyword: "电梯" 
    2.精确匹配 keyword: "=电梯" 
    3.包含匹配 keyword: "'电梯" 查找包含"电梯"的数据
    4.不包含 keyword: "!电梯" 查找不包含"电梯"的数据
    5.匹配开头 keyword: "^电梯" 查找以"电梯"开头的数据
    6.匹配结尾 keyword: "电梯$" 查找以"电梯"结尾的数据
    7.反向匹配开头 keyword: "!^电梯" 查找不以"电梯"开头的数据
    8.反向匹配结尾 keyword: "!电梯$" 查找不以"电梯"结尾的数据
匹配逻辑操作符:
    1.空格代表"与"关系,例如: "电梯 门" 查找同时包含"电梯"和"门"的数据
    2.| 代表"或"关系,例如: "电梯|门" 查找包含"电梯"或"门"的数据
综合搜索示例:
搜索名称以"办事处"结尾或"管理处"开头的数据
    esmap.ESMapUtil.searchJson({
        keyword: "办事处$ | ^管理处",
        onComplete: (e)=>console.log(e)
    })
参数:
名称 类型 描述
params object

搜索参数

属性
名称 类型 属性 描述
keyword string <optional>

关键字(模糊搜索)

ID string <optional>

id

name string <optional>

名称

bid string <optional>

建筑id

fnum string <optional>

楼层

typeID string <optional>

分类id

nodeType string <optional>

物体类型(只能传esmap.ESNodeType.MODEL或者esmap.ESNodeType.FACILITY)

onComplete function <optional>

搜索完成回调

返回值:
类型
Promise

(static) setFloorAlpha(a, b, c, d)

描述:
  • 设置楼层透明度

参数:
名称 类型 描述
a *
b *
c *
d *

(static) toColor(rgb) → {Number}

描述:
  • 将RGB转换成10进制

示例
var color = esmap.ESMapUtil.toColor('255,255,255');
参数:
名称 类型 描述
rgb String

颜色RGB

返回值:

number - 十进制颜色

类型
Number

(static) toRgba(rgbaStr)

描述:
  • 静态方法 将RGBA转换成RGB

参数:
名称 类型 描述
rgbaStr String

RGBA字符串

(static) transformBD09ToMap(lonLat) → {Coord}

描述:
  • 百度地图坐标转换为ESMap三维场景坐标

示例
let coord = esmap.ESMapUtil.transformBD09ToMap([116.397428, 39.90923]);
参数:
名称 类型 描述
lonLat LonLat
返回值:
类型
Coord

(static) transformGCJ02ToMap(lonLat) → {Coord}

描述:
  • 高德地图坐标转换为ESMap三维场景坐标

示例
let coord = esmap.ESMapUtil.transformGCJ02ToMap([116.397428, 39.90923]);
参数:
名称 类型 描述
lonLat LonLat
返回值:
类型
Coord

(static) transformMapToWGS84(coord) → {LonLat}

描述:
  • ESMap三维场景坐标转换为WGS84坐标

示例
let lonlat = esmap.ESMapUtil.transformMapToWGS84({x: 12683490.6, y: 2557878.79});
参数:
名称 类型 描述
coord Coord
返回值:
类型
LonLat

(static) transformWGS84ToMap(lonLat) → {Coord}

描述:
  • WGS84坐标转换为ESMap三维场景坐标

示例
let coord = esmap.ESMapUtil.transformWGS84ToMap([116.397428, 39.90923]);
参数:
名称 类型 描述
lonLat LonLat
返回值:
类型
Coord