#### # new BaseView(options)

视图类

#### 参数:

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

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

### 继承关系

- Event

### 成员变量

类型: SpatialReference

#### # readonly _spatialReference

视图空间参考系

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

类型: Array

#### # center

视图中心点

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

类型: String

#### # cursor

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

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

类型: Map

#### # map

地图管理容器对象

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

类型: Number

#### # maxScale

最大缩放比例尺

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

类型: Number

#### # maxZoom

最大缩放级数

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

类型: Number

#### # minScale

最小缩放比例尺

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

类型: Number

#### # minZoom

最小缩放级数

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

类型: Object

#### # popup

弹窗设置

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

类型: Number

#### # rotation

视图旋转角度

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

类型: Number

#### # scale

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

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

类型: Boolean

#### # readonly stationary

视图是否静止

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

类型: Number

#### # zoom

初始化级数

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

### 方法

#### # _initMapEventHandlers()

初始化图层管理器事件handler

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

#### # _linkLayerEvent()

链接图层Layer事件

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

#### # _linkMapEvent()

链接图层管理器Map事件

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

#### # _processEvent()

事件处理器

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

#### # _updateLayerView()

更新图层视图

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

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

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

#### 参数:

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

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

#### # dispatchEvent()

事件触发器

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

#### # getInnerLayer(layer)

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

#### 参数:

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

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

返回值:

实际图层对象

类型: Object

##### 示例

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

    // 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://192.168.82.89: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 422

返回值:
类型: Object

#### # getLayer(layerId)

根据基础图层id查询并返回基础图层对象

#### 参数:

名称 | 类型 | 描述
--- | --- | ---
`layerId` | String | 基础图层ID

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

返回值:

基础图层对象

类型: Layer

#### # setMap(map)

添加图层管理容器

#### 参数:

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

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

### 事件

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

##### 属性:

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 165

##### 示例

地图大小变化事件

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

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

##### 属性:

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

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

##### 示例

地图视图加载完毕事件

    view.on('loaded', (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 212

##### 示例

地图视野改变事件

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

#### # 视图图层创建事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'layerview-created' | 事件类型
`layer` | Layer | <optional> |  | 事件接收对象
`layerView` | LayerView | <optional> |  | 事件地图视图中心
`view` | BaseView | <optional> |  | 事件地图视图对象

查看源代码 common/document/mapCollection/Basemap.js, line 50

##### 示例

视图图层创建事件

    basemap.on('layerview-created', (event) => {
      console.log("添加地图图层事件:", event)
    })

#### # 视图图层创建事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'layerview-created' | 事件类型
`layer` | Layer | <optional> |  | 事件接收对象
`layerView` | LayerView | <optional> |  | 事件地图视图中心
`view` | BaseView | <optional> |  | 事件地图视图对象

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

##### 示例

视图图层创建事件

    view.on('layerview-created', (event) => {
      console.log("添加地图图层事件:", event)
    })

#### # 视图图层创建错误事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'layerview-created-error' | 事件类型
`layer` | Layer | <optional> |  | 事件接收对象
`view` | BaseView | <optional> |  | 事件地图视图对象
`error` | String | <optional> |  | 错误消息

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

##### 示例

视图图层创建错误事件

    view.on('layerview-created-error', (event) => {
      console.log("添加地图图层事件:", event)
    })

#### # 视图图层移除事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'layerview-remove' | 事件类型
`layer` | Layer | <optional> |  | 事件接收对象
`layerView` | LayerView | <optional> |  | 事件地图视图中心
`view` | BaseView | <optional> |  | 事件地图视图对象

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

##### 示例

视图图层移除事件

    view.on('layerview-remove', (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 197

##### 示例

键盘抬起事件

    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 182

##### 示例

键盘按下事件

    view.on('key-down', (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 68

##### 示例

鼠标双击事件

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

#### # 鼠标抬起事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'pointer-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 106

##### 示例

鼠标抬起事件

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

#### # 鼠标拖拽事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'drag' | 事件类型
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`button` | Number | <optional> |  |
`buttons` | Number | <optional> |  |
`cancelable` | Boolean | <optional> |  |
`origin` | Object | <optional> |  | 拖拽起点
`stopPropagation` | function | <optional> |  | 阻止事件捕获或冒泡
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`native` | Object | <optional> |  | 事件对象
`action` | String | <optional> |  | 拖拽状态
`type` | String | <optional> |  | 事件类型

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

##### 示例

鼠标拖拽事件

    view.on('drag', (event) => {
      console.log("鼠标拖拽事件:", event)
    })

#### # 鼠标按下事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'pointer-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 87

##### 示例

鼠标按下事件

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

#### # 鼠标点击事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'click' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`button` | Number | <optional> |  |
`buttons` | Number | <optional> |  |
`stopPropagation` | function | <optional> |  | 阻止事件捕获或冒泡
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`native` | Object | <optional> |  | 事件对象
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象

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

##### 示例

鼠标点击事件

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

#### # 鼠标点击事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'immediate-click' | 事件类型
`mapPoint` | Object | <optional> |  | 鼠标在地图上的经纬度位置
`x` | Object | <optional> |  | 鼠标的像素x坐标，单位px
`y` | Object | <optional> |  | 鼠标的像素y坐标，单位px
`button` | Number | <optional> |  |
`buttons` | Number | <optional> |  |
`stopPropagation` | function | <optional> |  | 阻止事件捕获或冒泡
`timeStamp` | Object | <optional> |  | 时间戳，单位ms
`native` | Object | <optional> |  | 事件对象
`sourceTarget` | BaseView | <optional> |  | 事件发起对象
`target` | Map | <optional> |  | 事件接收对象

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

##### 示例

鼠标立即点击事件

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

#### # 鼠标移动事件

##### 属性:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`event` | Object |  |  | 事件对象
`type` | LayerEventType | <optional> | 'pointer-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 125

##### 示例

鼠标移动事件

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