#### # new BaseView(options)

视图类

#### 参数:

名称 | 类型 | 默认值 | 描述
--- | --- | --- | ---
`options` | Object |  | 构造参数
`map` | Map | '' | 图层管理器
`viewId` | String | '' | 图层容器ID

查看源代码 common/view/BaseView.js, line 9

### 继承关系

- Event

### 成员变量

类型: Array

#### # center

视图中心点

查看源代码 common/view/BaseView.js, line 314

类型: String

#### # cursor

鼠标样式，参考css的cursor样式

查看源代码 common/view/BaseView.js, line 289

类型: Number

#### # maxScale

最大缩放比例尺

查看源代码 common/view/BaseView.js, line 304

类型: Number

#### # maxZoom

最大缩放级数

查看源代码 common/view/BaseView.js, line 324

类型: Number

#### # minScale

最小缩放比例尺

查看源代码 common/view/BaseView.js, line 299

类型: Number

#### # minZoom

最小缩放级数

查看源代码 common/view/BaseView.js, line 319

类型: Object

#### # popup

弹窗设置

查看源代码 common/view/BaseView.js, line 334

类型: Number

#### # rotation

视图旋转角度

查看源代码 common/view/BaseView.js, line 309

类型: Number

#### # scale

地图视图的比例尺，改变该值后会立刻改变视图范围

查看源代码 common/view/BaseView.js, line 294

类型: Number

#### # zoom

初始化级数

查看源代码 common/view/BaseView.js, line 329

### 方法

#### # _initMapEventHandlers()

初始化图层管理器事件handler

查看源代码 common/view/BaseView.js, line 452

#### # _linkLayerEvent()

链接图层Layer事件

查看源代码 common/view/BaseView.js, line 393

#### # _linkMapEvent()

链接图层管理器Map事件

查看源代码 common/view/BaseView.js, line 418

#### # _processEvent()

事件处理器

查看源代码 common/view/BaseView.js, line 465

#### # _removeLayerView()

移除图层视图

查看源代码 common/view/BaseView.js, line 683

#### # _updateLayerView()

更新图层视图

查看源代码 common/view/BaseView.js, line 725

#### # _waitLayerLoaded(layer, result, fireCreatedError)

等待图层加载完毕，可有BaseView的子类重写

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`layer` | Layer | 基础图层对象
`result` | Object | 图层加载完毕后的对象
`fireCreatedError` | function | 创建失败回调

查看源代码 common/view/BaseView.js, line 620

#### # dispatchEvent()

事件触发器

查看源代码 common/view/BaseView.js, line 759

#### # flyTo()

图层跳转

查看源代码 common/view/BaseView.js, line 439

#### # getInnerLayer(layer)

根据基础图层对象或者图层id查询并返回实际图层，如果时场景图层，则会返回一个数组对象

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`layer` | Object | String | 基础图层对象或者图层id

查看源代码 common/view/BaseView.js, line 883

返回值:

实际图层对象

类型: Object

##### 示例

<h7>根据基础图层对象或者图层id查询并返回实际图层</h7>

    // ES5引入方式
    const { Map, SceneView } = Zondy
    const { IGSSceneLayer } = Zondy.Layer
    // ES6引入方式
    import { Map, SceneView, IGSSceneLayer } from "@@mapgis/webclient-cesium-plugin"
    // 初始化图层管理容器
    const map = new Map();
    // 初始化地图视图对象
    const sceneView = new SceneView({
      // 视图id
      viewId: "mapgis-3d-viewer",
      // 图层管理容器
      map: map
    });
    // 添加一个场景图层
    const igsSceneLayer = new IGSSceneLayer({
      url: 'http://webclient.smaryun.com:8089/igs/rest/g3d/Scene:DaYanTa-M3D'
    });
    map.add(igsSceneLayer);
    // 添加完毕后，过去实际图层对象
    igsSceneLayer.on("layerview-created", function (result) {
      console.log("加载完毕:", result.layer)
      const innerLayer = sceneView.getInnerLayer(igsSceneLayer)
      console.log("innerLayer:", innerLayer)
    })

#### # getInnerView()

获取引擎视图对象,在leaflet引擎上返回leafelt map,在cesium引擎上返回cesium viewer

查看源代码 common/view/BaseView.js, line 445

返回值:
类型: Object

#### # setMap(map)

添加图层管理容器

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`map` | Map | 图层管理容器

查看源代码 common/view/BaseView.js, line 358

#### # takeScreenshot()

屏幕快照

查看源代码 common/view/BaseView.js, line 374

#### # toMap(point)

屏幕像素坐标点转地理坐标点

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`point` | Point | 屏幕像素坐标点

查看源代码 common/view/BaseView.js, line 388

返回值:

地理坐标点

类型: Point

#### # toScreen(point)

地理坐标点转屏幕像素坐标点

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`point` | Point | 地理坐标点

查看源代码 common/view/BaseView.js, line 381

返回值:

屏幕像素坐标点

类型: Point

### 事件

#### # zoom变化事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'zoom' | 事件类型
`zoom` | Number | <optional> |  | 当前的视图级数
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 180

##### 示例

<h7>zoom变化事件</h7>

    view.on('zoom', (event) => {
      console.log("zoom变化事件:", event)
    })

#### # 地图大小变化事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'resize' | 事件类型
`oldWidth` | Number | <optional> |  | 变化前的视图宽度，单位px
`oldHeight` | Number | <optional> |  | 变化前的视图高度，单位px
`width` | Number | <optional> |  | 变化后的视图高度，单位px
`height` | Number | <optional> |  | 变化后的视图高度，单位px
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 207

##### 示例

<h7>地图大小变化事件</h7>

    view.on('resize', (event) => {
      console.log("地图大小变化事件:", event)
    })

#### # 地图移动事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'move' | 事件类型
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 194

##### 示例

<h7>地图移动事件</h7>

    view.on('move', (event) => {
      console.log("地图移动事件:", event)
    })

#### # 地图视图加载完毕事件

##### 属性:

Name | Type | Description
--- | --- | ---
`event` | Object | 事件对象

查看源代码 common/view/BaseView.js, line 19

##### 示例

<h7>鼠标点击事件</h7>

    view.on('click', (event) => {
      console.log("点击事件:", event)
    })

#### # 地图视图改变事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'view-change' | 事件类型
`target` | BaseView | <optional> |  | 事件接收对象
`mapView` | BaseView | <optional> |  | 事件地图视图对象
`scale` | Number | <optional> |  | 事件地图比例尺
`zoom` | Number | <optional> |  | 事件地图层级
`center` | Point | <optional> |  | 事件地图视图中心

查看源代码 common/view/BaseView.js, line 269

##### 示例

<h7>地图视野改变事件</h7>

    view.on('view-change', (event) => {
      console.log("地图视图改变事件:", event)
    })

#### # 键盘抬起事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'key-up' | 事件类型
`key` | String | <optional> |  | 变化后的视图高度，单位px
`timeStamp` | Number | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 254

##### 示例

<h7>键盘抬起事件</h7>

    view.on('key-up', (event) => {
      console.log("键盘抬起事件:", event)
    })

#### # 键盘按下事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'key-down' | 事件类型
`key` | String | <optional> |  | 变化后的视图高度，单位px
`timeStamp` | Number | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 239

##### 示例

<h7>键盘按下事件</h7>

    view.on('key-down', (event) => {
      console.log("键盘按下事件:", event)
    })

#### # 键盘输入事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'key-press' | 事件类型
`key` | String | <optional> |  | 变化后的视图高度，单位px
`timeStamp` | Number | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 224

##### 示例

<h7>键盘输入事件</h7>

    view.on('key-press', (event) => {
      console.log("键盘输入事件:", event)
    })

#### # 鼠标双击事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'double-click' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`longitude` | Object | <optional> |  | 鼠标的经度坐标，单位度
`latitude` | Object | <optional> |  | 鼠标的纬度坐标，单位度
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 47

##### 示例

<h7>鼠标双击事件</h7>

    view.on('double-click', (event) => {
      console.log("双击事件:", event)
    })

#### # 鼠标右键点击事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'right-click-down' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`longitude` | Object | <optional> |  | 鼠标的经度坐标，单位度
`latitude` | Object | <optional> |  | 鼠标的纬度坐标，单位度
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 104

##### 示例

<h7>鼠标右键点击事件</h7>

    view.on('right-click-down', (event) => {
      console.log("鼠标右键点击事件:", event)
    })

#### # 鼠标抬起事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'mouse-up' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`longitude` | Object | <optional> |  | 鼠标的经度坐标，单位度
`latitude` | Object | <optional> |  | 鼠标的纬度坐标，单位度
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 85

##### 示例

<h7>鼠标抬起事件</h7>

    view.on('mouse-up', (event) => {
      console.log("鼠标抬起事件:", event)
    })

#### # 鼠标按下事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'mouse-down' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`longitude` | Object | <optional> |  | 鼠标的经度坐标，单位度
`latitude` | Object | <optional> |  | 鼠标的纬度坐标，单位度
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 66

##### 示例

<h7>鼠标按下事件</h7>

    view.on('mouse-down', (event) => {
      console.log("鼠标按下事件:", event)
    })

#### # 鼠标点击事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'click' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`longitude` | Object | <optional> |  | 鼠标的经度坐标，单位度
`latitude` | Object | <optional> |  | 鼠标的纬度坐标，单位度
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 28

##### 示例

<h7>鼠标点击事件</h7>

    view.on('click', (event) => {
      console.log("点击事件:", event)
    })

#### # 鼠标移入视图事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'mouse-over' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`longitude` | Object | <optional> |  | 鼠标的经度坐标，单位度
`latitude` | Object | <optional> |  | 鼠标的纬度坐标，单位度
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 161

##### 示例

<h7>鼠标移入视图事件</h7>

    view.on('mouse-over', (event) => {
      console.log("鼠标移入视图事件:", event)
    })

#### # 鼠标移出视图事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'mouse-out' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`longitude` | Object | <optional> |  | 鼠标的经度坐标，单位度
`latitude` | Object | <optional> |  | 鼠标的纬度坐标，单位度
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 142

##### 示例

<h7>鼠标移出视图事件</h7>

    view.on('mouse-out', (event) => {
      console.log("鼠标移出视图事件:", event)
    })

#### # 鼠标移动事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'mouse-move' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`longitude` | Object | <optional> |  | 鼠标的经度坐标，单位度
`latitude` | Object | <optional> |  | 鼠标的纬度坐标，单位度
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象
`event` | Object | <optional> |  | 事件对象

查看源代码 common/view/BaseView.js, line 123

##### 示例

<h7>鼠标移动事件</h7>

    view.on('mouse-move', (event) => {
      console.log("鼠标移动事件:", event)
    })