1. PointLayer
1.1. 初始化 new PointLayer(options)
Extends: Layer
点图层 (包含billboard,label),可实现对点的添加、获取、移除、缩放至和显隐等操作
Param | Type | Default | Description |
---|---|---|---|
options | Object |
包含以下参数的Object对象: |
|
[options.name] | String |
必填,图层名称; |
|
[options.show] | Boolean |
false |
是否显示; |
[options.customGroupId] | String |
若使用自定义分组,该图层所在分组的名称。 |
Example
let pointLayer = geoViewer.layerManager.createLayer(BOSGeo.LayerType.POINT, "点图层1", {customGroupId: 'vector'});//实例化PointLayer对象
point = pointLayer.add({
position: [114.05452615454756, 22.521097151970203, -0.005831823201912181],
label: {
text: "测试",
color: BOSGeo.Color.RED,
verticalOrigin: BOSGeo.VerticalOrigin.BOTTOM,
pixelOffset: [0, 0],
pixelOffsetScaleByDistance: [0, 1, 1.0e4, 0.0],
scaleByDistance: [0, 1, 1.0e4, 0.0]
},
});
1.2. 属性
属性名 | Type | Default | Description |
---|---|---|---|
pedestalEffect | Object | 底座效果 |
|
show | Boolean | false | 是否显示图层 |
color | String | 十六进制的颜色字符串 |
|
opacity | Number | 不透明度 |
1.3. 方法
1.3.1. pointLayer.addFromGeoJson(geojsonObj)
通过geojson文件添加点
Param | Type | Description |
---|---|---|
geojsonObj | Object |
geojson文件对象 |
1.3.2. pointLayer.add(options) ⇒ Point
添加点
Returns : Point
-
一个包含billboard,label和point的对象
Param | Type | Description |
---|---|---|
options | Object |
包含以下可选参数的Object对象: |
[options.position] | Array.<Number> | Array.<Array.<Number>> | Cartesian3 | Array.<Cartesian3> |
坐标[x,y,z]; |
[options.id] | String |
添加的点对象的id值, 默认为GUID值,选填。 |
[options.billboard] | Object |
billboard对象; |
[options.billboard.id] | String |
billboard的id; |
[options.billboard.show] | Boolean |
billboard配置,是否显示; |
[options.billboard.color] | String |
billboard填充颜色,格式为十六进制颜色字符串; |
[options.billboard.pixelOffset] | Array.<Number> | Cartesian2 |
billboard配置,[x,y], 在x,y两个方向的偏移像素; |
[options.billboard.pixelOffsetScaleByDistance] | NearFarScalar | Array.<Number> |
billboard配置,[near, nearValue, far, farValue],near-相机近距离,nearValue-近距离时的像素偏移比例,near-相机远距离,nearValue-远距离时的像素偏移比例,基于相机距离的像素偏移比例设置; |
[options.billboard.heightReference] | HeightReference |
billboard配置,高度参考; |
[options.billboard.horizontalOrigin] | HorizontalOrigin |
billboard配置,水平对齐方式; |
[options.billboard.verticalOrigin] | VerticalOrigin |
billboard配置,垂直对齐方式; |
[options.billboard.scale] | Number |
billboard配置,缩放比例; |
[options.billboard.image] | String |
billboard配置,贴图地址或base64编码; |
[options.billboard.imageSubRegion] | BoundingRectangle |
billboard配置,贴图裁剪区域; |
[options.billboard.alignedAxis] | Array.<Number> | Cartesian3 |
billboard配置,[x,y,z],基点位置; |
[options.billboard.rotation] | Number |
billboard配置,旋转参数值; |
[options.billboard.width] | Number |
billboard配置,宽度; |
[options.billboard.height] | Number |
billboard配置,高度; |
[options.billboard.scaleByDistance] | NearFarScalar | Array.<Number> |
billboard配置,[near, nearValue, far, farValue],near-相机近距离,nearValue-近距离时的比例,near-相机远距离,nearValue-远距离时的比例,设置基于相机距离的缩放值; |
[options.billboard.translucencyByDistance] | NearFarScalar |
billboard配置,设置基于相机距离的透明值; |
[options.billboard.sizeInMeters] | Boolean |
billboard配置,是否应以米为单位; |
[options.billboard.nearFar] | Array.<Number> |
billboard配置,[min, max],控制目标在什么相机位置下显示出来。默认值[0.0,Number.MAX_VALUE],所有地球范围可见; |
[options.billboard.disableDepthTestDistance] | Number |
billboard配置,指定从相机到禁用深度测试的距离。开启深度检测后,在指定距离内的图标将不再受深度的影响而显示,当设置为0时表示深度测试一直会起作用,当设置为无穷大时表示深度测试不起效; |
[options.label] | Object |
label对象; |
[options.label.show] | Boolean |
label配置,是否显示; |
[options.label.scale] | Number |
label配置,缩放比例; |
[options.label.font] | String |
label配置,字体; |
[options.label.fillColor] | String |
label字体填充颜色,格式为十六进制字符串; |
[options.label.outlineColor] | String |
label配置,十六进制边框颜色字符串; |
[options.label.outlineWidth] | Number |
label配置,边宽; |
[options.label.showBackground] | Boolean |
label配置,是否显示label背景; |
[options.label.backgroundColor] | String |
label配置,十六进制背景颜色字符串; |
[options.label.backgroundPadding] | Array.<Number> | Cartesian2 |
label配置,[x,y], padding设置; |
[options.label.style] | LabelStyle |
label配置,设置标记样式; |
[options.label.pixelOffset] | Array.<Number> | Cartesian2 |
label配置,[x,y],在x,y两个方向的偏移像素; |
[options.label.pixelOffsetScaleByDistance] | NearFarScalar | Array.<Number> |
label配置,[near, nearValue, far, farValue],near-相机近距离,nearValue-近距离时的像素偏移比例,near-相机远距离,nearValue-远距离时的像素偏移比例,基于相机距离的像素偏移比例设置; |
[options.label.eyeOffset] | Array.<Number> | Cartesian3 |
label配置,[x,y,z],相对用户观察位置偏移; |
[options.label.horizontalOrigin] | HorizontalOrigin |
label配置,水平对齐方式; |
[options.label.verticalOrigin] | VerticalOrigin |
label配置,垂直对齐方式; |
[options.label.scaleByDistance] | NearFarScalar | Array.<Number> |
label配置,[near, nearValue, far, farValue],near-相机近距离,nearValue-近距离时的比例,near-相机远距离,nearValue-远距离时的比例,设置基于相机距离的缩放值; |
[options.label.translucencyByDistance] | NearFarScalar |
label配置,设置基于相机距离的透明值; |
[options.label.nearFar] | Array.<Number> |
label配置,[min,max],控制目标在什么相机位置下显示出来,默认值[0.0,Number.MAX_VALUE],所有地球范围可见; |
[options.label.heightReference] | HeightReference |
label配置,高度参考; |
[options.point] | Object |
point对象; |
[options.point.show] | Boolean |
point配置,是否显示; |
[options.point.pixelSize] | Number |
point配置,点大小; |
[options.point.heightReference] | HeightReference |
point配置,高度参考; |
[options.point.color] | String |
point配置,点颜色; |
[options.point.outlineColor] | String |
point配置,点边框颜色; |
[options.point.outlineWidth] | Number |
point配置,点边框宽度; |
[options.point.scaleByDistance] | NearFarScalar | Array.<Number> |
point配置,[near, nearValue, far, farValue],near-相机近距离,nearValue-近距离时的比例,near-相机远距离,nearValue-远距离时的比例,设置基于相机距离的缩放值; |
[options.point.translucencyByDistance] | NearFarScalar |
point配置,基于相机距离的不透明度设置; |
[options.point.nearFar] | Array.<Number> |
point配置,[min,max],控制目标在什么相机位置下显示出来。默认值[0.0,Number.MAX_VALUE],所有地球范围可见; |
[options.point.disableDepthTestDistance] | Number |
point配置,指定从相机到禁用深度测试的距离。开启深度检测后,在指定距离内的图标将不再受深度的影响而显示,当设置为0时表示深度测试一直会起作用,当设置为无穷大时表示深度测试不起效; |
Example
point = pointLayer.add({
position: [110, 23, 30],
label: {
text: "测试",
color: BOSGeo.Color.RED,
verticalOrigin: BOSGeo.VerticalOrigin.BOTTOM,
pixelOffset: [0, -100],
pixelOffsetScaleByDistance: [0, 1, 1.0e4, 0.0],
scaleByDistance: [0, 1, 1.0e4, 0.0]
},
});
1.3.3. pointLayer.remove(point)
根据点对象移除
Param | Type | Description |
---|---|---|
point | Point | 点对象 |
1.3.4. pointLayer.removeAll()
移除该图层所有数据
1.3.5. pointLayer.zoomToLayer(callback)
Param | Type | Description |
---|---|---|
callback | function |
回调函数 |
缩放至本图层
Example
pointLayer.zoomToLayer();
1.3.6. pointLayer.destroy()
销毁本图层
1.3.7. pointLayer.addBillboardLine(options, position, [height]) ⇒ Object
添加带引线的广告牌
Param | Type | Default | Description |
---|---|---|---|
options | Object |
包含以下属性的对象: |
|
position | Array.<Number> |
广告牌线底部,经纬度与高程坐标数组; |
|
[height] | Number |
15 |
广告牌距离线底部的高度; |
[options.line] | Object |
line对象; |
|
[options.line.color] | String |
"#1296DB" |
线的颜色; |
[options.line.width] | Number |
6 |
线宽度; |
[options.line.opacity] | Number |
1 |
线透明度; |
[options.label] | Object |
label对象; |
|
[options.label.text] | String |
'BOSGeo' |
文字; |
[options.label.pixelOffset] | Cartesian2 |
new Cartesian2(0, -48) |
label偏移量 |
[options.label.scaleByDistance] | NearFarScalar |
new NearFarScalar(1.5e2, 0.5, 1.0e6, 0.0) |
label根据距离缩放 |
[options.billboard] | Object |
billboard对象; |
|
[options.billboard.image] | Base64 | String |
billboard图片; |
|
[options.billboard.pixelOffset] | Cartesian2 |
new Cartesian2(0, -48) |
billboard偏移量 |
[options.billboard.scaleByDistance] | NearFarScalar |
new NearFarScalar(1.5e2, 0.5, 1.0e6, 0.0) |
billboard根据距离缩放 |
Example
var geomap = new BOSGeo.GeoMap('bosgeoContainer');
let layer = geomap.layerManager.createLayer(BOSGeo.LayerType.POINT, "点图层");
let bbdLine = layer.addBillboardLine({
position: [114.5, 22.55, 0]
});
1.3.8. pointLayer.deleteBillboardLine(bbdLine)
删除带引线的广告牌
Param | Type | Description |
---|---|---|
bbdLine | Object |
带引线的广告牌对象,包含line和billboard的对象: |
Example
var geomap = new BOSGeo.GeoMap('bosgeoContainer');
let layer = geomap.layerManager.createLayer(BOSGeo.LayerType.POINT, "点图层");
let bbdLine = layer.addBillboardLine({
position: [114.5, 22.55, 0]
});
layer.deleteBillboardLine(bbdLine);