new BaseView(options)
视图基类
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
构造参数
|
Example
// 添加覆盖物图层
view.overlays.add(new GraphicsLayer({}))
view.overlays.add(new IGSFeatureLayer({
url: "http://{ip}:{port}/igs/rest/services/{folder}/{ServiceName}/FeatureServer",
})
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
最大缩放级数
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
-
图层比例尺显示隐藏状态更新事件。当前仅支持非组图层以及场景子图层
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) }) /** -
地图大小变化事件
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) }) -
地图视图加载完毕事件
view/BaseView.js, line 92 -
Properties:
Name Type Description eventObject 事件对象
Example
地图视图加载完毕事件 view.on('loaded', (event) => { console.log("点击事件:", event) }) -
地图视图改变事件
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) }) -
引擎视图创建完毕事件
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) }) -
视图图层创建事件
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) }) -
视图图层移除事件
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) }) -
键盘抬起事件
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) }) -
键盘按下事件
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) }) -
鼠标双击事件
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) }) -
鼠标抬起事件
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) }) -
鼠标拖拽事件
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) }) -
鼠标按下事件
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) }) -
鼠标点击事件
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) }) -
鼠标点击立即响应事件
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) }) -
鼠标移动事件
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
-
_processSpatialReferenceChange(event){*}
view/BaseView.js, line 1013 -
空间参考系改变
Name Type Description eventLayerEvent Returns:
Type Description * -
destroy()
view/BaseView.js, line 616 -
销毁视图方法
-
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) }) -
getInnerView(){Object}
view/BaseView.js, line 551 -
获取引擎视图对象,在leaflet引擎上返回leafelt map,在cesium引擎上返回cesium viewer
Returns:
Type Description Object -
getLayer(layerId){Layer}
view/BaseView.js, line 608 -
根据基础图层id查询并返回基础图层对象
Name Type Description layerIdString 基础图层ID
Returns:
Type Description Layer 基础图层对象 -
setMap(map)
view/BaseView.js, line 519 -
添加图层管理容器
Name Type Description mapMap 图层管理容器
-
toJSON(){Object}
view/BaseView.js, line 1756 -
转换为json对象
Returns:
Type Description Object json对象