ESMap

esmap. ESMap

三维场景基本对象构造类

构造函数

new ESMap(options)

描述:
  • 初始化三维场景对象

参数:
名称 类型 描述
options object

三维场景配置参数

属性
名称 类型 属性 默认值 描述
container HTMLElement <optional>
document.body

三维场景容器Dom元素

mode esmap.MapMode.Building | esmap.MapMode.City <optional>
esmap.MapMode.Building

地图模式

mapDataSrc string <optional>
"data/"

三维场景数据源

token string | null <optional>
null

三维场景token

logoToken string | null <optional>
null

logo去除token

themeID string | null <optional>
null

主题ID

center Coord | null <optional>

视图中心点

useCache boolean <optional>
true

是否开启缓存

hoverMode boolean <optional>
false

是否开启hover模式

quality 'hight' | 'normal' | 'low' <optional>
'normal'

三维场景渲染质量

defaultAngle number | null <optional>
null

默认角度

defaultTiltAngle number | null <optional>

默认倾斜角度

scalerOffet Offset <optional>
[10,20]

比例尺位置偏移量

scalerWidth number <optional>
60

比例尺宽度

scalerBgColor string <optional>
'firebrick'

比例尺背景色

modelSelectedEffect boolean <optional>
true

矢量物体选中是否变色

model3DSelectedEffect boolean <optional>
true

3D模型选中是否变色

compassPointerUrl string | null <optional>
null

指北针图片地址

compassBackgroundUrl string <optional>
null

指北针背景图片地址

compassPosition Offset | null <optional>
null

指北针位置偏移量

zoomLevel number <optional>
15

三维场景缩放级别

minZoomLevel number | null <optional>
null

三维场景最小缩放级别

maxZoomLevel number | null <optional>
null

三维场景最大缩放级别

loadRoads number <optional>
true

默认是否加载路网(仅城市三维场景模式有效)

tileType string <optional>
'autonavi'

瓦片底图类型(仅城市三维场景模式有效)

tileShowLevel number <optional>
12.5

瓦片底图显示级别(仅城市三维场景模式有效)

maximumTiles number <optional>
25

最大瓦片数量(仅城市三维场景模式有效)

clickOpenBuildings boolean <optional>
true

点击打开室内建筑(仅城市三维场景模式有效)

maximumBuildings number <optional>
1

同时显示的最大建筑数量(仅城市三维场景模式有效)

showBuildingMode esmap.ShowBuildingMode <optional>
esmap.ShowBuildingMode.PLANISH

打开室内建筑展示方式(仅城市三维场景有效)

focusFloor number <optional>
1

默认聚焦楼层(仅室内三维场景模式有效)

visibleFloors array | null <optional>
null

指定可见楼层(仅室内三维场景模式有效)

mapFloorSpan number <optional>
0

楼层间距(仅室内三维场景模式有效)

focusMode number <optional>
2

建筑楼层聚焦模式1:单层模式,上浮展示 2:多层模式 (仅室内三维场景模式有效)

focusAnimateMode boolean <optional>
true

是否开启楼层聚焦动画(仅室内三维场景模式有效)

focusAnimateTime number <optional>
0.3

楼层聚焦动画过渡时间(仅室内三维场景模式有效)

focusAlphaMode boolean <optional>
false

是否开启非聚焦楼层透明(仅室内三维场景模式有效)

focusAlpha number <optional>
0.4

非聚焦楼层透明度(仅室内三维场景模式有效)

属性

backgroundColor :string

描述:
  • 设置三维场景背景颜色

类型:
  • string

center

描述:
  • 三维场景中心点坐标

firstPersonMode :boolean

描述:
  • 第一人称视角模式

类型:
  • boolean

fullScreen :boolean

描述:
  • 是否全屏显示

类型:
  • boolean

id :string

描述:
  • 地图id

类型:
  • string

maxPolarAngle :number

描述:
  • 最大俯仰角

类型:
  • number

maxX :number

描述:
  • 三维场景边界minX

类型:
  • number

maxY :number

描述:
  • 三维场景边界maxY

类型:
  • number

minX :number

描述:
  • 三维场景边界minX

类型:
  • number

minY :number

描述:
  • 三维场景边界minY

类型:
  • number

mode :MapMode

描述:
  • 获取当前三维场景模式(城市三维场景模式/室内三维场景模式)

类型:
  • MapMode

rotateAngle :number

描述:
  • 方向角

类型:
  • number

scaleLevel :number

描述:
  • 缩放等级(旧版)

类型:
  • number

showScaler :boolean

描述:
  • 是否显示比例尺

类型:
  • boolean

tileList :Array

描述:
  • 瓦片对象列表

类型:
  • Array

tiltAngle :number

描述:
  • 俯仰角

类型:
  • number

viewCenter

描述:
  • 当前视野三维场景中心点坐标

viewMode :esmap.ESViewMode

描述:
  • 切换2d/3d视角

类型:

watchingOpens

描述:
  • 当前三维场景绑定的室内建筑(城市三维场景模式)

zoomLevel :number

描述:
  • 缩放等级

类型:
  • number

方法

addLocationMarker(locationMarker)

描述:
  • 添加定位标注

参数:
名称 类型 描述
locationMarker esmap.ESLocationMarker

(async) cameraFlyTo(data) → {Promise}

描述:
  • 视角飞行动画

参数:
名称 类型 描述
data object
属性
名称 类型 描述
directionAngle number

视角方向角度

pitchAngle number

视角俯仰角度

radius number

视角距离

x number

视角中心点x

y number

视角中心点y

z number

视角中心点z

time number

动画时间

bid string

建筑

fnum number

建筑楼层

callback function

动画结束回调

返回值:
类型
Promise

cameraFlyToHelper() → {object}

描述:
  • 获取当前视角参数

返回值:

视角参数

类型
object

change3dColor(options)

描述:
  • 改变三维模型的颜色

参数:
名称 类型 描述
options object

配置项

属性
名称 类型 描述
color string

颜色

id number

模型id

name string

模型name

change3dVisible(options)

描述:
  • 设置房间或者模型是否可见

参数:
名称 类型 描述
options object
属性
名称 类型 属性 描述
name string <optional>

模型或者房间名称

id number <optional>

模型或者房间id

value boolean

是否可见

bid number <optional>

建筑id

changeBuildingColor(opt)

描述:
  • 设置瓦片建筑的颜色或者透明度(城市三维场景模式)

参数:
名称 类型 描述
opt object
属性
名称 类型 属性 描述
name string | Array.<string> <optional>

瓦片建筑名称或名称列表

id number | Array.<number> <optional>

瓦片建筑id或id列表

color string <optional>

颜色(hex string) 设置为false代表还原

opacity number <optional>

透明度

bid number <optional>

建筑id列表

changeModelColor(opt)

描述:
  • 设置房间颜色

参数:
名称 类型 描述
opt object
属性
名称 类型 属性 描述
name string <optional>

房间名称

id number <optional>

房间id

color string | false <optional>

颜色.设置为false代表还原

opacity number <optional>

透明度

bid number <optional>

建筑id

fnum number <optional>

建筑楼层

clearAllLineMark()

描述:
  • 清除所有线标注

clearAllPopMarker()

描述:
  • 删除所有气泡标注

clearLineMarkById(id)

描述:
  • 根据id清除线标注

参数:
名称 类型 描述
id string | number

线标注的id

clearPopMarkerById(id)

描述:
  • 根据id删除气泡标注

参数:
名称 类型 描述
id string | number

closeAllBuildings()

描述:
  • 关闭所有室内建筑

(async) closeBuildingById(bid)

描述:
  • 根据id关闭建筑

参数:
名称 类型 描述
bid string

建筑id

coordMapToScreen(mapX, mapY, mapZ) → {Coord}

描述:
  • 三维场景坐标转换为屏幕坐标

参数:
名称 类型 描述
mapX number

三维场景坐标x

mapY number

三维场景坐标y

mapZ number

三维场景坐标z

返回值:
类型
Coord

coordScreenToMap(screenX, screenY, screenZopt) → {Coord}

描述:
  • 屏幕坐标转换为三维场景坐标

参数:
名称 类型 属性 默认值 描述
screenX number

屏幕坐标x

screenY number

屏幕坐标y

screenZ number <optional>
0

高度z

返回值:
类型
Coord

drawLineMark(linemark, callback)

描述:
  • 绘制线标注

示例
let points = [{x: 12683490.6, y: 2557878.79},{x: 12683459.98, y: 2557874.12}]
let lineMarker = new esmap.ESLineMarker({
        id: 1,
        name: 'lineMarker',
        points: points,
        style: lineStyle,
    })
    map1.drawLineMark(lineMarker)
参数:
名称 类型 描述
linemark esmap.ESLineMarker
callback function

forceLoadTiles(params)

描述:
  • 强制加载所有瓦片(城市三维场景模式)

参数:
名称 类型 描述
params object

配置选项

属性
名称 类型 属性 描述
number number

最大加载数量

onComplete function <optional>

加载完成回调

onProgress function <optional>

加载进度回调

getBuildingById(id) → {ESBuilding|null}

描述:
  • 根据id获取建筑对象

参数:
名称 类型 描述
id string
返回值:
类型
ESBuilding | null

getCenter() → {Coord}

描述:
  • 获取当前视角三维场景中心点墨卡托坐标

返回值:
类型
Coord

getCenterLonLat() → {LonLat}

描述:
  • 获取当前视角中心点经纬度坐标(WGS84)

返回值:
类型
LonLat

getPopMarkerById(id) → {esmap.ESPopMarker}

描述:
  • 根据id获取气泡标注对象

参数:
名称 类型 描述
id string | number
返回值:
类型
esmap.ESPopMarker

getScreenCenter(configs) → {Coord}

描述:
  • 获取当前屏幕中心点对应的三维场景坐标

参数:
名称 类型 描述
configs object
属性
名称 类型 描述
bid number

建筑id

fnum number

楼层编号

返回值:
类型
Coord

highlightBuildingById(id)

描述:
  • 根据id高亮建筑(城市三维场景模式)

参数:
名称 类型 描述
id number

moveTo(options)

描述:
  • 移动视角到指定位置

参数:
名称 类型 描述
options object

参数

属性
名称 类型 描述
x number

x坐标

y number

y坐标

time number

过渡时间/s

openBuildingById(id)

描述:
  • 根据id打开室内建筑

参数:
名称 类型 描述
id string | number

openMapById(id)

描述:
  • 打开三维场景

参数:
名称 类型 描述
id string | number

三维场景id

reRender()

描述:
  • 恢复渲染

removeLocationMarker(locationMarker)

描述:
  • 删除定位标注

参数:
名称 类型 描述
locationMarker esmap.ESLocationMarker

rotateTo(configs)

描述:
  • 旋转三维场景到指定角度

参数:
名称 类型 描述
configs object | number

直接传入角度或者配置项

属性
名称 类型 属性 默认值 描述
angle number

角度

time number <optional>
0.3

动画时间

onComplete function <optional>

动画完成回调

scaleLevelIn()

描述:
  • 缩放到上一个等级

scaleLevelOut()

描述:
  • 缩放到下一个等级

scaleLevelTo(configs)

描述:
  • 缩放到指定等级(旧版)

参数:
名称 类型 描述
configs object | number

等级或者配置项

属性
名称 类型 描述
value number

等级

time number

动画时间/s

onComplete function

动画结束回调

screenshot(configs)

描述:
  • 生成快照(截图)

参数:
名称 类型 描述
configs object

快照配置

属性
名称 类型 描述
newTab string

是否在新标签页打开快照

download boolean

是否自动下载

fileName string

下载文件名

width nubmer

快照宽度

height nubmer

快照高度

scale number

缩放比例

setBackgroundColor(a, b)

描述:
  • 设置三维场景背景颜色及透明度

参数:
名称 类型 描述
a string

背景颜色

b number

背景透明度

setBackgroundImage(url)

描述:
  • 设置三维场景背景图片

参数:
名称 类型 描述
url string

背景图片url

stopRender()

描述:
  • 停止渲染

tiltTo(opts)

描述:
  • 改变倾斜角

参数:
名称 类型 描述
opts object | number

配置项或者直接传入angle

属性
名称 类型 描述
angle number

倾斜角

time number

动画时间

callback function

动画结束回调

zoomIn(a)

描述:
  • 缩放到上一个等级

参数:
名称 类型 描述
a *

zoomLevelTo(configs)

描述:
  • 动态改变缩放等级zoomLevel

参数:
名称 类型 描述
configs object | number

配置项或者直接传入zoomLevel

属性
名称 类型 描述
value number

缩放等级

time number

动画时间

onComplete function

动画完成回调

zoomOut(a)

描述:
  • 缩放到下一个等级

参数:
名称 类型 描述
a *

事件

buildingLoadComplete

描述:
  • 室内建筑加载完成事件

类型:

closeAllBuildings

描述:
  • 所有建筑关闭事件(城市三维场景模式)

loadComplete

描述:
  • 三维场景加载完成事件

示例
map.on('loadComplete',function(){
  console.log('地图加载完成')
})

mapClickNode

描述:
  • 三维场景元素点击事件

示例
map.on('mapClickNode',function(event){
  console.log(event);
    //通过event.nodeType判断点击到的是哪种类型的元素 类型列表请参考 esmap.ESNodeType
   if(event.nodeType == esmap.ESNodeType.IMAGEMARKER){
      console.log('点击到了图片标注:',event);
   }
})

tileUpdated

描述:
  • 瓦片更新事件