1. PointSymbolLayer

Extends: Layer

1.1. 初始化 new PointSymbolLayer(options)

1.1.1. new PointSymbolLayer(options)

点符号图层(符号包括圆点、图标/广告牌符号、glb/glTF模型等,以及文本标注)

Param Type Default Description
options Object

包含以下参数的Object对象:

options.name String

必填,图层名称;

[options.show] Boolean false

是否显示;

[options.customGroupId] String

若使用自定义分组,该图层所在分组的名称

[options.showLabel] Boolean false

是否实现文本标注

[options.showSymbol] Boolean true

是否显示符号

[options.symbolType] SymbolType BOSGeo.SymbolType.CIRCLE_POINT

符号类型

options.labelStyle Object

包含以下参数的文本标注对象:

[options.labelStyle.font] String 'normal 30px Microsoft YaHei' 标注字体样式,HTML canvas 2D context text styles
[options.labelStyle.fillColor] Color BOSGeo.Color.WHITE

字体填充颜色

[options.labelStyle.outlineColor] Color BOSGeo.Color.BLACK

字体轮廓颜色

[options.labelStyle.outlineWidth] Number 1.0

字体轮廓宽度,单位为像素

[options.labelStyle.showBackground] Boolean true

标注是否显示背景

[options.labelStyle.backgroundColor] Color BOSGeo.Color.TRANSPARENT

标注背景颜色

[options.labelStyle.scale] Number 1

标注尺寸,标注最终大小为 scale * font中的字体大小

[options.labelStyle.pixelOffset] Cartesian2 new BOSGeo.Cartesian2(0, -32)

标注的像素偏移值,原点在标注正下方,往屏幕向右为X轴正方向,屏幕往下为Y轴正方向

options.pointStyle Object

包含以下参数的圆点对象

[options.pointStyle.pixelSize] Number 10

圆点大小

[options.pointStyle.outlineWidth] Number 0

圆点宽度

[options.pointStyle.color] Color BOSGeo.Color.WHITE

圆点填充颜色

[options.pointStyle.outlineColor] Color BOSGeo.Color.TRANSPARENT

圆点轮廓颜色

options.billboardStyle Object

包含以下参数的图标/广告牌对象

[options.billboardStyle.image] String

广告牌图片地址

[options.billboardStyle.color] Color BOSGeo.Color.WHITE

广告牌图片的混合颜色

[options.billboardStyle.scale] Number 1

图标尺寸(在width和height基础上)

options.billboardStyle.height Number

广告牌显示高度,单位为像素,不设置则采用原始图片高度

options.billboardStyle.width Number

广告牌显示宽度,单位为像素,不设置则采用原始图片宽度

options.modelStyle Object

包含以下参数的glb/gltf模型对象

[options.modelStyle.url] String Default_ModelPath

模型路径

[options.modelStyle.imageBasedLightingFactor] Cartesian2 new BOSGeo.Cartesian2(1.0, 1.0)

模型的漫反射和镜面反射比例, 取值范围在[0, 1]

[options.modelStyle.lightColor] Color 0

模型的光照颜色

[options.modelStyle.luminanceAtZenith] Number 0.2

模型环境贴图的亮度,以千坎德拉/平方米为单位

[options.modelStyle.heading] Number 0

模型的方位角,单位为度

[options.modelStyle.pitch] Number 0

模型的倾斜角,单位为度

[options.modelStyle.roll] Number 0

模型的旋转角,单位为度

[options.modelStyle.scale] Number 1

模型的尺寸

Example

var layerManager = geoMap.layerManager;
const pointLayer = layerManager.createLayer(BOSGeo.LayerType.POINTSYMBOL, '批量图标', {
    customGroupId: "vector",
    symbolType: BOSGeo.SymbolType.BILLBOARD,
    billboardStyle: {
        image: 'https://bosgeo.boswinner.com/Assets/Images/walking.png'
    }
});

1.2. 属性

属性名 Type Default Description
billboardStyle Object

图标样式(设置图层所有点的图标样式),object结构体及其默认值请参考构造函数

labelStyle Object false

点样式(设置整个图层对象标注样式),object结构体及其默认值请参考构造函数

modelStyle Object

模型符号的样式(对于个别使用modifyPointPosition修改过heading、pitch、roll、scale属性的点不会被该默认模型样式中的值覆盖掉),object结构体及其默认值请参考构造函数

pointStyle Object

点样式(设置整个图层对象的圆点样式),object结构体及其默认值请参考构造函数

showLabel Boolean false

是否显示标注

showSymbol Boolean true

是否显示符号(圆点、图标、模型)

symbolType SymbolType BOSGeo.SymbolType.CIRCLE_POINT

实例化符号类型

1.3. 方法

1.3.1. pointSymbolLayer.loadGeoJson(options) ⇒ Array.<(String|Number)>

将geojson中的点要素解析为点符号

Param Type Default Description
options Object

包含以下参数的Object对象:

options.geojson Object

geojson对象(目前仅支持EPSG:4326坐标系,并只支持到要素和要素集合层级)

[options.labelKey] Number 'name'

文本标注内容的属性名称

[options.defaultText] Number ''

标注属性未定义时的标注内容

[options.featureKey] String

要素标识属性名称,不指定或者指定要素值不唯一则无法进行根据已知信息进行准确地要素定位

Example

BOSGeo.Resource.fetchJson({
    url: 'http://bosgeo.boswinner.com/geoData/geojson/shenzhen_roadPoints1424.geojson'
}).then((res) => {
    pointLayer.loadGeoJson({
        geojson: res,
        labelKey: 'osm_id'
    });
});

1.3.2. pointSymbolLayer.loadInBatch(options) ⇒ Array.<(String|Number)>

批量加载点符号

Param Type Default Description
options Object

包含以下参数的Object对象:

options.positions Array.<Cartesian3>

批量点要素顶点坐标集

[options.propertiesList] Array.<Object> []

批量符号的属性集合,与positions数量对应,内层对象最好包含labelKey属性,否则显示的文本标注内容为defaultText内容

[options.labelKey] Number 'name'

文本标注内容的属性名称

[options.defaultText] Number ''

标注属性未定义时的标注内容

[options.featureKey] String

要素标识属性名称,不指定或者指定要素值不唯一则无法进行根据已知信息进行准确地要素定位

Example

pointLayer.on(BOSGeo.LayerEventType.ADD, (data) => {//加载成功后可以监听获取点和符号化后的集合对象   
    console.log("---clusterLayer加载成功---",data);
});
BOSGeo.Resource.fetchJson({
    url: 'http://bosgeo.boswinner.com/geoData/geojson/shenzhen_roadPoints1424.geojson'
}).then((res) => {
    const {features} = res;

    const propertiesList = [];
    const featurePositions = [];
    const height = 20;
    features.forEach((feature) => {
        const {geometry, properties} = feature;
        const {coordinates, type} = geometry;
        switch (type) {
            case 'Point':
                featurePositions.push(BOSGeo.Cartesian3.fromDegrees(coordinates[0], coordinates[1], height));
                propertiesList.push(properties);
                break;
            case 'MultiPoint':
                coordinates.forEach((point) => {
                    featurePositions.push(BOSGeo.Cartesian3.fromDegrees(point[0], point[1], height));
                    propertiesList.push(properties);
                });
                break;
        }
    });
    pointLayer.loadInBatch({
        positions: featurePositions,
        propertiesList,
        labelKey: 'osm_id',
        featureKey: 'osm_id',
    });
});

1.3.3. pointSymbolLayer.modifyPointPosition(featureKeyValue, translation, modelOptions) ⇒ Cartesian3

修改点的位置姿态

Param Type Description
featureKeyValue String

点符号的唯一key值(对应于添加时指定featureKey的value,若未指定则会自动创建guid)

translation Cartesian3

单个符号/文本标注的局部平移量(相对于点当前位置的ENU坐标系下的平移)

modelOptions Object

模型符号的姿态(只有当符号为模型时设置才有效),注:一旦修改了该值后,当前点的姿态尺寸无法再通过modelStyle设置

modelOptions.heading Object

模型符号的方位角,单位为度,取值范围[0,360]

modelOptions.pitch Object

模型符号的倾斜角,单位为度

modelOptions.roll Object

模型符号的旋转角,单位为度

modelOptions.scale Object

模型符号的尺寸

Example

pointLayer.modifyPointPosition('8349164372', new BOSGeo.Cartesian3(0, 0, 10), {pitch: 30, scale: 5})

1.3.4. pointSymbolLayer.flyToFeature(options)

定位到指定要素值的点

Param Type Default Description
options Object

包含以下参数的Object对象:

options.featureKeyValue String | Number

点符号的唯一key值(对应于添加时指定featureKey的value,若未指定则会自动创建guid)

[options.heading] Number 0

基于要素对象包围球中心的偏移

[options.pitch] Number -90

基于要素对象包围球中心的偏移

[options.roll] Number 0

基于要素对象包围球中心的偏移

[options.range] Number 50

基于要素对象包围球中心的偏移

[options.duration] Number

定位时间,不设置则会基于当前相机与目标点的距离自定设置时间

options.callback function

定位后的回调函数

Example

pointLayer.flyToFeature({featureKeyValue: '8349164372', range: 10, pitch: 90, duration: 1})

1.3.5. pointSymbolLayer.zoomToLayer(callback)

缩放至本图层

Param Type Description
callback function

回调函数

Example

pointInstanceLayer.zoomToLayer();

1.3.6. pointSymbolLayer.removeAll()

移除该图层所有点数据

1.3.7. pointSymbolLayer.destroy()

销毁图层

版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-08-04 10:21:45

results matching ""

    No results matching ""