1. PrimitiveLayer
Extends: Layer
1.1. 初始化 new PrimitiveLayer(options)
图元数据图层。包括直线,多边形,矩形,圆形,管线(方形),管道(圆形) TODO 多边形没有边框属性。当透明度小于1时,多边形显示效果不完整
Param | Type | Default | Description |
---|---|---|---|
options | Object |
包含以下参数的Object对象 |
|
[options.name] | String |
图层名称,不设置则为undefined |
|
[options.show] | Boolean |
true |
是否显示,默认为true。 |
[options.img] | String |
图片材质路径 |
|
[options.customGroupId] | String |
若使用自定义分组,该图层所在分组的名称 |
|
[options.type] | String |
图形类型,可选项包括'line', 'polygon', 'rect', 'ellipse', 'pipeline' 'tube' |
|
[options.position] | Array.<number> | Array.<Array.<Number>> |
图形位置,[longitude0,latitude0, height0, ...]或者[longitude0,latitude0, ...],需注意 当options.type为'rect'时,position只包含两个点的位置信息。 当options.type为'ellipse'时,position只包含一个点的位置信息。 当options.type为'line',''polygon''时,position可包含多个点的位置信息,options.clampToGround为true且options.type为'line',''polygon''时,position传入经纬度数组[longitude0,latitude0...],options.clampToGround为false且options.type为'line',''polygon''时,position传入经纬度高程数组[longitude0,latitude0, height0,...]。 |
|
[options.color] | String |
'#fff' |
图形颜色 |
[options.opacity] | Number |
1 |
图形透明度 |
[options.width] | Number |
options.type为'line'或'pipleline'时有效 当options.type为'line'时,width表示直线宽度,默认为1 当options.type为'pipleline时,width表示管线宽度,默认为10 |
|
[options.height] | Number |
0 |
图形高度。options.type为'line'时无效 |
[options.radius] | Number |
半径,options.type为'ellipse'或'tube'时有效 当options.type为'ellipse'时,radius表示圆形半径。为必传参数 当options.type为'tube'时,radius表示管道半径。为必传参数 |
|
[options.onClick] | function |
点击标记后的回调函数 |
|
[options.attribute] | Object |
属性信息 |
|
[options.displayDistance] | Number |
10000 |
可选,最远可视距离,默认为10000. |
[options.clampToGround] | Boolean |
false |
是否贴地,默认为false,为true且options.type为'line',''polygon''时,position传入经纬度数组[longitude0,latitude0...],为false且options.type为'line',''polygon''时,position传入经纬度高程数组[longitude0,latitude0, height0,...] |
[options.classificationType] | String |
BOSGeo.ClassificationType.BOTH |
贴合类型,options.clampToGround为true且options.type为'line','polygon'时起效,贴合类型包括BOSGeo.ClassificationType.TERRAIN (只贴地形)、BOSGeo.ClassificationType.CESIUM_3D_TILE (只贴模型)和BOSGeo.ClassificationType.BOTH(两者都起作用),默认是BOSGeo.ClassificationType.BOTH。 |
[options.waterColor] | String |
'#548B54' |
动态水面的颜色, #rgb, #rgba, #rrggbb, #rrggbbaa, rgb(), rgba(), hsl(), 或者是 hsla() 格式的CSS颜色值 |
[options.dynamic] | Boolean |
false |
是否添加动态水面,默认为false。 |
Example
var primitiveSZ = new BOSGeo.PrimitiveLayer({
name: '图形',
type: 'polygon',// 'line', 'polygon', 'rect', 'ellipse', 'pipeline' 'tube'
// polygon时首位坐标要相同
position: [121.46665, 31.17088, 0, 121.4663, 31.16701, 0, 121.46384, 0, 121.46665, 31.17088, 0],
height: 0,
displayDistance: 10000000,
minDisplayDistance: 10000,
clampToGround: false, //options.clampToGround为true且options.type为'line',''polygon''时,position传入经纬度数组[longitude0,latitude0...],options.clampToGround为false且options.type为'line',''polygon''时,position传入经纬度高程数组[longitude0,latitude0, height0,...]
show: true,
color: '#0000FF',
});
1.2. 属性
属性名 | Type | Default | Description |
---|---|---|---|
DEFAULT_DISPLAY_DISTANCE | Number |
显示距离。即相机与数据图层之间的距离小于此值时显示,否则隐藏 |
|
position | Array.<number> |
图形的位置。[lng, lat, height] |
|
show | Boolean |
是否显示图层 |
|
opacity | Number |
透明度,范围为0-1。 |
|
color | String |
修改实体的颜色,十六进制的颜色字符串 |
1.3. 方法
1.3.1. primitiveLayer.zoomTo()
缩放至本图层
Example
primitiveSZ.zoomTo()
1.3.2. primitiveLayer.setPosition()
设置图形的位置。先删除后添加,对性能影响较大
Param | Type | Description |
---|---|---|
position. | Array.<number> |
[lng, lat, height] |
Example
primitiveSZ.setPosition([121.46665, 31.17088, 0, 121.4663, 31.16701, 0, 121.46384, 31.1663, 0, 121.46351, 31.16834, 0])
1.3.3. primitiveLayer.setColor(color)
修改图形的填充颜色
Param | Type |
---|---|
color | String |
Example
primitiveSZ.setColor('#0000FF')
1.3.4. primitiveLayer.setVisible(visible)
设置显隐
Param | Type | Description |
---|---|---|
visible | Boolean |
为true时显示,false时隐藏 |
Example
primitiveSZ.setVisible(false)