View

初始化MapVGL容器对象,用来管理各可视化图层对象。

1
2
3
4
var view = new mapvgl.View({
effects: [new mapvgl.BloomEffect()],
map: bmapgl
});

options参数

map

解释:地图对象

类型: Object

mapType

解释:地图类型,默认为3D百度地图

类型: string

默认值:无

可选值:

  • bmap,2D百度地图
  • blank,空白底图
  • cesium,cesium地图(慎用,需要修改cesium引擎里render的逻辑,参考这里)

effects

解释:图像后处理效果对象数组

类型: Array

方法

addLayer

描述:addLayer({Layer}layer)

解释:添加可视化图层

removeLayer

描述:removeLayer({Layer}layer)

解释:删除对应的可视化图层

removeAllLayers

描述removeAllLayers()

解释:删除所有可视化图层

getAllLayers

描述:getAllLayers()

解释:返回所有可视化图层

getAllThreeLayers

描述:getAllThreeLayers()

解释:返回所有使用ThreeLayer开发的可视化图层

hide

描述:hide()

解释:隐藏当前图层管理器及所含图层

show

描述:show()

解释:显示当前图层管理器及所含图层

hideLayer

描述:hideLayer({Layer}layer)

解释:隐藏对应图层

showLayer

描述showLayer({Layer}layer)

解释:显示对应图层

destroy

描述:destroy()

解释:销毁当前容器

使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
var layer = new mapvgl.PointLayer(
color: 'rgba(50, 50, 200, 1)',
shape: 'circle', // 默认为正方形,可传circle改为圆形
blend: 'lighter',
size: 2,
data: [{
geometry: {
type: 'Point',
coordinates: [116.403748, 39.915055]
}
}]
);
view.addLayer(layer);

与底图融合(慎用)

在某些场景,如大屏情况下,canvas对性能的开销是巨大的,我们提供一种将mapvgl的canvas容器与GL版JSAPI底图容器融合的办法。
该融合为异步函数,在回调中返回View对象。
注意:该方式会融合2个WebGL应用的canvas与gl context,可能会造成一些难以预测的问题,请慎用!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mapvgl.createFusionView(map, view => {
var layer = new mapvgl.PointLayer(
color: 'rgba(50, 50, 200, 1)',
shape: 'circle', // 默认为正方形,可传circle改为圆形
blend: 'lighter',
size: 2,
data: [{
geometry: {
type: 'Point',
coordinates: [116.403748, 39.915055]
}
}]
);
view.addLayer(layer);
});