类名 MapView

# new MapView(options)

视频地图视图类
继承自zondy.BaseView
支持MP4,HLS,RTMP视频格式。

参数:

名称 类型 默认值 描述
options Object

构造参数

map Map ''

图层管理器

viewId String ''

图层容器ID

支持如下方法:
[2、像素坐标转地理坐标]
[3、地理坐标转像素坐标]

示例

创建视频地图视图示例

// ES5引入方式
const { Map } = zondy
const { MapView } = zondy.video
// ES6引入方式
import { Map } from "@mapgis/webclient-common"
import { MapView } from "@mapgis/webclient-video-plugin"
// 新建一个map容器
const videoMap = new Map()
videoMapView = new MapView({
  viewId: 'videoMapView-container',
  map: videoMap
})
// 传入视频标定数据
videoMapView.init(data)

继承关系

  • zondy.BaseView

成员变量

Popup

地图弹框popup

方法

# geoCoordToPixelCoord(geoCoord)

地理坐标转像素坐标,得到的像素坐标会受视频缩放影响

参数:

名称 类型 描述
geoCoord Point

地理坐标,经纬度表示

像素坐标,单位为像素值

Point
示例

地理坐标转像素坐标示例

// ES5引入方式
const { Point } = zondy.geometry
// ES6引入方式
import { Point } from "@mapgis/webclient-common"
const pixelCoord = videoMapView.toScreen(new Point({ coordinates: [longitude, latitude] }))

# hitTest(screenPoint)

穿透检测,图元拾取。目前支持graphic类型拾取结果,支持图层类型GraphicLayer,FeatureLayer。

参数:

名称 类型 描述
screenPoint Object

屏幕像素坐标点,例如{ x: 900, y: 500 }

图元检测结果

Array
示例

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

// ES5引入方式
const { Map, Feature } = zondy
const { Point, Polygon, MultiPolygon ,Extent, Circle } = zondy.geometry
const { GraphicsLayer, IGSFeatureLayer, IGSTileLayer } = zondy.layer
const { MapView } = zondy.video
// ES6引入方式
import { MapView } from "@mapgis/webclient-video-plugin";
import { Map, Point, Polygon, MultiPolygon ,Extent, GraphicsLayer, Feature, Circle} from "@mapgis/webclient-common";
// 初始化图层管理容器
const map = new Map();
// 初始化地图视图对象
this.mapView = new MapView({
  // 视图id
  viewId: "mapgis-2d-viewer",
  // 图层管理容器
  map: map,
})
// 创建一个要素
const feature = [
  new Feature({
    id: '11113',
    geometry: new Circle({
      center: [113, 35],
      radius: 10000,
      radiusUnit: 'kilometers',
    })
  }),
  new Feature({
    id: '11114',
    geometry: new Polygon({
      coordinates: [
        // 外圈
        [
          [113.0, 29.0],
          [116.0, 29.0],
          [116.0, 35.0],
          [113.0, 35.0],
          [113.0, 29.0]
        ]
      ]
    })
  }),
  new Feature({
    id: '11115',
    geometry:new MultiPolygon({
      coordinates: [
        [
          // 外圈
          [
            [112.0, 28.0],
            [115.0, 28.0],
            [115.0, 30.0],
            [112.0, 30.0],
            [112.0, 28.0]
          ],
          // 第一个内圈
          [
            [112.2, 28.2],
            [112.2, 29.8],
            [114.8, 29.8],
            [114.8, 28.2],
            [112.2, 28.2]
          ]
        ]
      ]
    })
  })
]
// 初始化几何图层
const graphicsLayer = new GraphicsLayer({
  graphics:feature
})
map.add(this.graphicsLayer)
const result = this.mapView.hitTest({x:1100,y:600})

# pixelCoordToGeoCoord(pixelCoord)

像素坐标转地理坐标,传入视频地图视图上的像素坐标

参数:

名称 类型 描述
pixelCoord Point

像素坐标,单位为像素值

地理坐标,经纬度表示

Point
示例

像素坐标转地理坐标示例

// ES5引入方式
const { Point } = zondy.geometry
// ES6引入方式
import { Point } from "@mapgis/webclient-common"
const geoCoord = videoMapView.toMap(new Point({ coordinates: [0, 0] }))

事件

# 地图视图加载完毕事件

属性:
Name Type Description
event Object

事件对象

示例

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

view.on('loaded', (event) => {
  console.log("视频地图加载完成事件:", event)
})

# 鼠标双击事件

属性:
Name Type Attributes Default Description
event Object

事件对象

type ViewEventType <optional>
'double-click'

事件类型

absolutePointer Object <optional>

鼠标在视图的绝对位置

pointer Object <optional>

鼠标在视图的像素位置

target Object <optional>

视图上被点击到的几何图形

isClick Boolean <optional>
false

是否是点击事件

e Object <optional>

鼠标原事件对象

示例

鼠标双击事件

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

# 鼠标抬起事件

属性:
Name Type Attributes Default Description
event Object

事件对象

type ViewEventType <optional>
'mouse-up'

事件类型

absolutePointer Object <optional>

鼠标在视图的绝对位置

pointer Object <optional>

鼠标在视图的像素位置

target Object <optional>

视图上被点击到的几何图形

isClick Boolean <optional>
false

是否是点击事件

e Object <optional>

鼠标原事件对象

示例

鼠标抬起事件

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

# 鼠标按下事件

属性:
Name Type Attributes Default Description
event Object

事件对象

type ViewEventType <optional>
'mouse-down'

事件类型

absolutePointer Object <optional>

鼠标在视图的绝对位置

pointer Object <optional>

鼠标在视图的像素位置

target Object <optional>

视图上被点击到的几何图形

isClick Boolean <optional>
false

是否是点击事件

e Object <optional>

鼠标原事件对象

示例

鼠标按下事件

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

# 鼠标点击事件

属性:
Name Type Attributes Default Description
event Object

事件对象

type ViewEventType <optional>
'click'

事件类型

absolutePointer Object <optional>

鼠标在视图的绝对位置

pointer Object <optional>

鼠标在视图的像素位置

target Object <optional>

视图上被点击到的几何图形

isClick Boolean <optional>
false

是否是点击事件

e Object <optional>

鼠标原事件对象

示例

鼠标点击事件

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

# 鼠标移入事件

属性:
Name Type Attributes Default Description
event Object

事件对象

type ViewEventType <optional>
'mouse-over'

事件类型

target Object <optional>

视图上的几何图形

e Object <optional>

鼠标原事件对象

示例

鼠标移入事件

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

# 鼠标移出事件

属性:
Name Type Attributes Default Description
event Object

事件对象

type ViewEventType <optional>
'mouse-out'

事件类型

target Object <optional>

视图上的几何图形

e Object <optional>

鼠标原事件对象

示例

鼠标移出事件

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

# 鼠标移动事件

属性:
Name Type Attributes Default Description
event Object

事件对象

type ViewEventType <optional>
'mouse-move'

事件类型

absolutePointer Object <optional>

鼠标在视图的绝对位置

pointer Object <optional>

鼠标在视图的像素位置

target Object <optional>

视图上的几何图形

isClick Boolean <optional>
false

是否是点击事件

e Object <optional>

鼠标原事件对象

示例

鼠标移动事件

view.on('mouse-move', (event) => {
  console.log("移动事件:", event)
})
构造函数
成员变量
方法
事件