new MapView(options)
二维视图基类
| Name | Type | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
构造参数
|
Extends
Members
-
allLayerViewsCollection
-
所有图层视图
-
basemapLayerViewsCollection
-
图层视图
-
centerArray
-
视图中心点
-
cursorString
-
鼠标样式,参考css的cursor样式
-
extendPropsObject
-
当前图层对象上不支持的属性,二次开发用户希望挂在图层对像上的属性可以存储到该属性中
- Default Value: {}
extensionOptionsObject
初始化视图的额外参数,可以通过该参数传入引擎原生的构造参数
graphicsLayersGroupLayer
优先推荐使用overlays属性。视图的几何图层容器(仅允许添加 GraphicsLayer 类型图层。此容器内的图层将始终显示在最上层,非常适合用于展示要素查询框选、量算结果、要素高亮等功能中的图形显示)
initialGoToBoolean
是否在视图构造时根据视图的center、scale、zoom、extent属性进行视图范围的设置
layerViewFilterLayerViewFilter
图层视图过滤器。可以用筛选显示在此视图的图层视图。
layerViewsCollection
图层视图
mapMap
地图管理容器对象
maxScaleNumber
最大缩放比例尺
maxZoomNumber
最大缩放级数
mergeLevelRatioNumber
相邻级别分辨率的比值。默认为1.05。小于此值则会将两个级别合并为一个级别显示。以1.414和1.2分辨率举例,1.414/1.2=1.17833, 1.17833大于1.05保留1.2分辨率对应的层级。1.414/1.4=1.01, 1.01小于1.05, 会将1.414和1.4分辨率对应的层级合并为一级。
minScaleNumber
最小缩放比例尺
minZoomNumber
最小缩放级数
overlayLayerViewsCollection
覆盖图图层视图容器
overlaysGroupLayer
视图的覆盖物容器,支持在视图上添加各种图层
popupObject
弹窗设置
rotationNumber
视图旋转角度
scaleNumber
地图视图的比例尺,改变该值后会立刻改变视图范围
sourceTargetObject
最初触发事件的对象。例如,组图层A添加一个图层B后,组图层A对外发送事件,sourceTarget为最初触发事件的对象,即组图层A
spatialReferenceSpatialReference
视图空间参考系
stationaryBoolean
视图是否静止
targetObject
触发事件的对象。对于传播事件,传播链中触发事件的最后一个对象。例如,组图层A添加一个图层B后,组图层A对外发送事件后,事件传递给Map,Map会继续发送此事件,此时target为Map对象
zoomNumber
初始化级数
Events
-
inherited 图层比例尺显示隐藏状态更新事件。当前仅支持非组图层以及场景子图层
view/BaseView.js, line 340 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'layerview-created-error' 可选 事件类型
layerLayer 可选 事件接收对象
viewBaseView 可选 事件地图视图对象
errorString 可选 错误消息
eventLayerViewScaleVisibleEvent 事件对象
Properties
Name Type Default Description typeLayerEventType 'layerview-scale-visible' 可选 事件类型 view.on('layerview-scale-visible', (event) => { console.log("图层比例尺显示隐藏状态更新事件:", event) })
Example
视图图层创建错误事件 view.on('layerview-created-error', (event) => { console.log("添加地图图层事件:", event) }) /** -
inherited 地图大小变化事件
view/BaseView.js, line 238 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'resize' 可选 事件类型
oldWidthNumber 可选 变化前的视图宽度,单位px
oldHeightNumber 可选 变化前的视图高度,单位px
widthNumber 可选 变化后的视图高度,单位px
heightNumber 可选 变化后的视图高度,单位px
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
eventObject 可选 事件对象
Example
地图大小变化事件 view.on('resize', (event) => { console.log("地图大小变化事件:", event) }) -
inherited 地图视图加载完毕事件
view/BaseView.js, line 92 -
Properties:
Name Type Description eventObject 事件对象
Example
地图视图加载完毕事件 view.on('loaded', (event) => { console.log("点击事件:", event) }) -
inherited 地图视图改变事件
view/BaseView.js, line 299 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'view-change' 可选 事件类型
targetBaseView 可选 事件接收对象
mapViewBaseView 可选 事件地图视图对象
scaleNumber 可选 事件地图比例尺
zoomNumber 可选 事件地图层级
centerPoint 可选 事件地图视图中心
Example
地图视野改变事件 view.on('view-change', (event) => { console.log("地图视图改变事件:", event) }) -
inherited 引擎视图创建完毕事件
view/BaseView.js, line 285 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeViewEventType 'innerView-created' 可选 事件类型
innerViewObject 可选 引擎地图对象
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
eventObject 可选 事件对象
Example
引擎视图创建完毕事件 view.on('innerView-created', (event) => { console.log("引擎视图创建完毕事件:", event) }) -
inherited 视图图层创建事件
view/BaseView.js, line 314 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'layerview-created' 可选 事件类型
layerLayer 可选 事件接收对象
layerViewLayerView 可选 事件地图视图中心
viewBaseView 可选 事件地图视图对象
Example
视图图层创建事件 view.on('layerview-created', (event) => { console.log("添加地图图层事件:", event) }) -
inherited 视图图层移除事件
view/BaseView.js, line 327 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'layerview-remove' 可选 事件类型
layerLayer 可选 事件接收对象
layerViewLayerView 可选 事件地图视图中心
viewBaseView 可选 事件地图视图对象
Example
视图图层移除事件 view.on('layerview-remove', (event) => { console.log("销毁地图图层事件:", event) }) -
inherited 键盘抬起事件
view/BaseView.js, line 270 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'key-up' 可选 事件类型
keyString 可选 变化后的视图高度,单位px
timeStampNumber 可选 时间戳,单位ms
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
eventObject 可选 事件对象
Example
键盘抬起事件 view.on('key-up', (event) => { console.log("键盘抬起事件:", event) }) -
inherited 键盘按下事件
view/BaseView.js, line 255 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'key-down' 可选 事件类型
keyString 可选 变化后的视图高度,单位px
timeStampNumber 可选 时间戳,单位ms
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
eventObject 可选 事件对象
Example
键盘按下事件 view.on('key-down', (event) => { console.log("键盘按下事件:", event) }) -
inherited 鼠标双击事件
view/BaseView.js, line 141 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'double-click' 可选 事件类型
mapPointObject 可选 鼠标在地图上的经纬度位置
longitudeObject 可选 鼠标的经度坐标,单位度
latitudeObject 可选 鼠标的纬度坐标,单位度
xObject 可选 鼠标的像素x坐标,单位px
yObject 可选 鼠标的像素y坐标,单位px
timeStampObject 可选 时间戳,单位ms
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
eventObject 可选 事件对象
Example
鼠标双击事件 view.on('double-click', (event) => { console.log("双击事件:", event) }) -
inherited 鼠标抬起事件
view/BaseView.js, line 179 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'pointer-up' 可选 事件类型
mapPointObject 可选 鼠标在地图上的经纬度位置
longitudeObject 可选 鼠标的经度坐标,单位度
latitudeObject 可选 鼠标的纬度坐标,单位度
xObject 可选 鼠标的像素x坐标,单位px
yObject 可选 鼠标的像素y坐标,单位px
timeStampObject 可选 时间戳,单位ms
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
eventObject 可选 事件对象
Example
鼠标抬起事件 view.on('pointer-up', (event) => { console.log("鼠标抬起事件:", event) }) -
inherited 鼠标拖拽事件
view/BaseView.js, line 217 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'drag' 可选 事件类型
xObject 可选 鼠标的像素x坐标,单位px
yObject 可选 鼠标的像素y坐标,单位px
buttonNumber 可选 buttonsNumber 可选 cancelableBoolean 可选 originObject 可选 拖拽起点
stopPropagationfunction 可选 阻止事件捕获或冒泡
timeStampObject 可选 时间戳,单位ms
nativeObject 可选 事件对象
actionString 可选 拖拽状态
typeString 可选 事件类型
Example
鼠标拖拽事件 view.on('drag', (event) => { console.log("鼠标拖拽事件:", event) }) -
inherited 鼠标按下事件
view/BaseView.js, line 160 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'pointer-down' 可选 事件类型
mapPointObject 可选 鼠标在地图上的经纬度位置
longitudeObject 可选 鼠标的经度坐标,单位度
latitudeObject 可选 鼠标的纬度坐标,单位度
xObject 可选 鼠标的像素x坐标,单位px
yObject 可选 鼠标的像素y坐标,单位px
timeStampObject 可选 时间戳,单位ms
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
eventObject 可选 事件对象
Example
鼠标按下事件 view.on('pointer-down', (event) => { console.log("鼠标按下事件:", event) }) -
inherited 鼠标点击事件
view/BaseView.js, line 101 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'click' 可选 事件类型
mapPointObject 可选 鼠标在地图上的经纬度位置
xObject 可选 鼠标的像素x坐标,单位px
yObject 可选 鼠标的像素y坐标,单位px
buttonNumber 可选 buttonsNumber 可选 stopPropagationfunction 可选 阻止事件捕获或冒泡
timeStampObject 可选 时间戳,单位ms
nativeObject 可选 事件对象
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
Example
鼠标点击事件 view.on('click', (event) => { console.log("点击事件:", event) }) -
inherited 鼠标点击立即响应事件
view/BaseView.js, line 121 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'immediate-click' 可选 事件类型
mapPointObject 可选 鼠标在地图上的经纬度位置
xObject 可选 鼠标的像素x坐标,单位px
yObject 可选 鼠标的像素y坐标,单位px
buttonNumber 可选 buttonsNumber 可选 stopPropagationfunction 可选 阻止事件捕获或冒泡
timeStampObject 可选 时间戳,单位ms
nativeObject 可选 事件对象
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
Example
鼠标立即点击事件 view.on('immediate-click', (event) => { console.log("点击事件:", event) }) -
inherited 鼠标移动事件
view/BaseView.js, line 198 -
Properties:
Name Type Description eventObject 事件对象
Properties
Name Type Default Description typeLayerEventType 'pointer-move' 可选 事件类型
mapPointObject 可选 鼠标在地图上的经纬度位置
longitudeObject 可选 鼠标的经度坐标,单位度
latitudeObject 可选 鼠标的纬度坐标,单位度
xObject 可选 鼠标的像素x坐标,单位px
yObject 可选 鼠标的像素y坐标,单位px
timeStampObject 可选 时间戳,单位ms
sourceTargetBaseView 可选 事件发起对象
targetMap 可选 事件接收对象
eventObject 可选 事件对象
Example
鼠标移动事件 view.on('pointer-move', (event) => { console.log("鼠标移动事件:", event) })
Methods
-
MapView.fromJSON(json){MapView}
view/MapView.js, line 336 -
通过一个配置生成一个场景视图对象
Name Type Description jsonObject 场景视图配置
Returns:
Type Description MapView -
inherited _processSpatialReferenceChange(event){*}
view/BaseView.js, line 1013 -
空间参考系改变
Name Type Description eventLayerEvent Returns:
Type Description * -
inherited destroy()
view/BaseView.js, line 616 -
销毁视图方法
-
inherited getInnerLayer(layerDef, sublayerDef){Object|null}
view/BaseView.js, line 577 -
获取图层或子图层对应的实际图层对象
Name Type Description layerDefObject | String 图层对象或者图层id
sublayerDefSubLayer | String | null 默认为null,子图层对象或者子图层id,设置后会查询图层内对应子图层的实际对象。当前仅支持场景子图层。
Returns:
Type Description Object | null 实际图层对象 Example
根据基础图层对象或者图层id查询并返回实际图层 // ES5引入方式 const { IGSSceneLayer } = zondy.layer // ES6引入方式 import { IGSSceneLayer } from "@mapgis/webclient-cesium-plugin" // 添加一个场景图层 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 = view.getInnerLayer(igsSceneLayer) console.log("innerLayer:", innerLayer) }) -
inherited getInnerView(){Object}
view/BaseView.js, line 551 -
获取引擎视图对象,在leaflet引擎上返回leafelt map,在cesium引擎上返回cesium viewer
Returns:
Type Description Object -
根据基础图层id查询并返回基础图层对象
Name Type Description layerIdString 基础图层ID
Returns:
Type Description Layer 基础图层对象 -
inherited setMap(map)
view/BaseView.js, line 519 -
添加图层管理容器
Name Type Description mapMap 图层管理容器
-
toJSON(){Object}
view/MapView.js, line 324 -
转换为json对象
Returns:
Type Description Object json对象