1. 三维永远面向相机标签 SpriteMark

1.1. 属性

1.1.1. this.marks

所有 mark 的信息,用 mark 的 id 来唯一标识

1.1.2. this.components

mark 的容器 {id: THREE.Object3D}

1.1.3. this.SelectedMark

选中的 mark 图标 {Object}

1.1.4. this.allOids

所有 mark 的 id 的集合,数组形式

1.2. 方法

1.2.1. enabled

该方法用来开启鼠标事件监听

/**
 * 该方法用来开启鼠标事件监听
 * @function enabled 默认开启
 */
//调用方法:
var spriteMark = new BOS3D.SpriteMark(viewer3D);
spriteMark.enabled();

1.2.2. disabled

该方法用来关闭鼠标事件监听

/**
 * 该方法用来关闭鼠标事件监听
 * @function disabled
 */
//调用方法:
var spriteMark = new BOS3D.SpriteMark(viewer3D);
spriteMark.disabled();

1.2.3. touchEnabled

该方法用来开启触摸事件监听

/**
 * 该方法用来开启触摸事件监听
 * @function touchEnabled
 */
//调用方法:
var spriteMark = new BOS3D.SpriteMark(viewer3D);
spriteMark.touchEnabled();

1.2.4. touchDisabled

该方法用来关闭触摸事件监听

/**
 * 该方法用来关闭触摸事件监听
 * @function touchDisabled
 */
//调用方法:
var spriteMark = new BOS3D.SpriteMark(viewer3D);
spriteMark.touchDisabled();

1.2.5. add

该方法用来添加 mark

名称 说明 类型 是否必须 示例
option 标签信息 object 见调用方法
callback 回调方法 function 见调用方法
/**
 * 该方法用来添加mark
 * @function add
 * @param [options] {Object}  构建mark的参数
 * @param [options.position] {Array}  mark图标的位置
 * @param [options.url] {String}  mark图标的地址
 * @param [options.id] {String}  mark图标的id    (默认随机生成)
 * @param [options.width] {Number}  mark图标宽度 (默认为图片像素宽度)
 * @param [options.height] {Number}  mark图标的高度  (默认为图片像素高度)
 * @param [options.scale] {Number}  mark图标的缩放比例 (默认为1)
 * @param [options.alwaysVisible] {Boolean}  mark图标的是否始终可见 (默认为true)
 * @param [options.transparent] {Boolean}  mark图标的是否使用alpha通道 (默认为false)
 * @param [options.componentId]{string}  该mark关联的构件key
 * @param [options.hoverEffect]{number}  鼠标移动到该mark上的一个动画效果, 1是放大,2是无效果, 默认是 1 
 * @param [options.title]{string}  该mark title名称
 * @param [options.titleDisplay]{string}  该mark title的显示模式 有三种模式 "none" | "hover" | "fixed"
 * @param [options.titleOffset]{array}  该mark title的位置偏差 [0, 0]
 * @param [options.sizeAttenuation]{Boolean}  标签大小是否随相机变化,默认为true,注意:为false时mark的大小会变为屏幕像素大小,请减小mark的尺寸以满足需要。
 * @param callback {function} 完成添加的回调函数 参数为所创建的mark的id
 * title: "yingjia",
 titleDisplay: "hover",
 */
//调用方法:
var spriteMark = new BOS3D.SpriteMark(viewer3D);
var options = {
    id: "123",
    url: "./img/fire.png",
    scale: 2,
    useImageSize: true,
    alwaysVisible: true,
    position: [500, 500, 500],
};
spriteMark.add(options, function (a) {
    alert(a);
});

1.2.6. updateMark

该方法用来更新 Mark

名称 说明 类型 是否必须 示例
node mark 的 id String "123"
option 标签信息 object 见调用方法
callback 更新之后的回调 function function(){}
/**
 * 该方法用来更新Mark
 * @function updateMark
 * @param [options] {Object}  更新mark的参数
 * @param [options.position] {Array}  mark图标的位置
 * @param [options.url] {String}  mark图标的地址
 * @param [options.width] {Number}  mark图标宽度 (默认为图片像素宽度)
 * @param [options.height] {Number}  mark图标的高度  (默认为图片像素高度)
 * @param [options.scale] {Number}  mark图标的缩放比例 (默认为1)
 * @param [options.alwaysVisible] {Boolean}  mark图标的是否始终可见 (默认为true)
 * @param [options.transparent] {Boolean}  mark图标的是否使用alpha通道 (默认为false)
 * @param [options.componentId]{string}  该mark关联的构件key
 * @param [options.useImageSize]{Boolean}  是否使用图片本身的尺寸 默认true
 * @param callback {function}  更新之后的回调
 */

//调用方法:
var spriteMark = new BOS3D.SpriteMark(viewer3D);
var options = {
    url: "./img/fire.png",
    scale: 2,
    useImageSize: true,
    alwaysVisible: true,
};
spriteMark.updateMark("123", options, function () {});

1.2.7. _setupTitleContainer

该方法用来创建一个 title 容器,这是一个内部方法

名称 说明 类型 是否必须 示例
/**
 * 该方法用来创建一个title 容器
 * @method _setupTitleContainer
 * @param
 * @return
 */

//调用方法:
// 这是一个内部方法,一部情况下不需要外部调用

1.2.8. setTitleShow

该方法用来控制一个精灵标签的 title 的显示模式

名称 说明 类型 是否必须 示例
id SpriteMark 实例的 id 属性 String 'a123'
show 显示的模式, String 'none'
/**
 * 该方法用来控制一个精灵标签的title的显示模式
 * @method setTitleShow
 * @param id {string}  SpriteMark实例的id属性
 * @param show {string}  显示的模式,有三种模式: 'none' | 'fixed' | 'hover'
 */

//调用方法:
// none 表示不显示
// fixed表示固定显示
// hover表示悬停显示
var spriteMark = new BOS3D.SpriteMark(viewer3D);
var options = {
    id: "123",
    url: "./img/fire.png",
    scale: 2,
    useImageSize: true,
    alwaysVisible: true,
};
spriteMark.add(options, function (id) {
    spriteMark.setTitleShow(id, "hover");
});

1.2.9. animation

该方法用来对精灵标签做心脏跳动的动画

名称 说明 类型 是否必须 示例
Sprite SpriteMark 实例 String
/**
 * 该方法用来对精灵标签做心脏跳动的动画
 * @method animation
 * @param Sprite {SpriteMark}  SpriteMark实例
 */

//调用方法:
// 这是一个内部方法,一部情况下不需要外部调用

1.2.10. bigger

该方法用来对精灵标签做放大动画

名称 说明 类型 是否必须 示例
Sprite SpriteMark 实例 String
/**
 * 该方法用来对精灵标签做放大动画
 * @method bigger
 * @param Sprite {SpriteMark}  SpriteMark实例
 * @returns {void}
 */

//调用方法:
// 这是一个内部方法,一部情况下不需要外部调用

1.2.11. _updateTitle

该方法用来对精灵标签做放大动画

名称 说明 类型 是否必须 示例
title title 的对象 Object
/**
 * 该方法用来更新一个title的显示效果
 * @method _updateTitle
 * @param {Object} title 一个title对象
 * @returns {void}
 */
//调用方法:
// 这是一个内部方法,一部情况下不需要外部调用

1.2.12. _addTitle

该方法用来为 sprite 添加一个 title

名称 说明 类型 是否必须 示例
sprite sprite 实例 Object
/**
 * 该方法用来为sprite添加一个title
 * @method _addTitle
 * @param {Object} sprite sprite实例
 * @returns {void}
 */
//调用方法:
spriteMark._addTitle(sprite);

1.2.13. setHoverType

该方法用来设置在 hover 模式下的运动效果

名称 说明 类型 是否必须 示例
id SpriteMark 实例的 id 属性 string '123'
type hover 下 title 跟随鼠标还是固定模式,1 是跟随,2 是固定, 默认是 1 Number '123'
/**
 * 该方法用来设置在hover模式下的运动效果
 * @method setHoverType
 * @param {string} id SpriteMark实例的id属性
 * @param {Number} type hover下title跟随鼠标还是固定模式,1是跟随,2是固定, 默认是 1
 * @returns {void}
 */
//调用方法:
spriteMark.setHoverType("123", 1);

1.2.14. registerEvent

该方法用来对精灵标签添加事件处理

名称 说明 类型 是否必须 示例
/**
 * 该方法用来对精灵标签添加事件处理
 * @method registerEvent
 */

//调用方法:
// 这是一个内部方法,一部情况下不需要外部调用

1.2.15. remove

方法用来将 mark 销毁

名称 说明 类型 是否必须 示例
nodes 标签 id 或 id 数组 String 或 Array ["123","1234"]
/**
 * 该方法用来将mark销毁
 * @function remove
 * @param nodes {String || Array}  mark的id或id数组
 */
//调用方法:
spriteMark.remove(["123", "1234"]);

1.2.16. hide

该方法用来将 mark 隐藏

名称 说明 类型 是否必须 示例
nodes 标签 id 或 id 数组 String 或 Array ["123","1234"]
/**
 * 该方法用来将mark隐藏
 * @function hide
 * @param nodes {String || Array}  mark的id或id数组
 */
//调用方法:
spriteMark.hide(["123", "1234"]);

1.2.17. show

该方法用来将隐藏的 mark 显示

名称 说明 类型 是否必须 示例
nodes 标签 id 或 id 数组 String 或 Array ["123","1234"]
/**
 * 该方法用来将隐藏的mark显示
 * @function show
 * @param nodes {String || Array}  mark的id或id数组
 */
//调用方法:
spriteMark.show(["123", "1234"]);

1.2.18. isolation

该方法用来将选中的 mark 隔离显示

名称 说明 类型 是否必须 示例
nodes 标签 id 或 id 数组 String 或 Array ["123","1234"]
/**
 * 该方法用来将选中的mark隔离显示
 * @function isolation
 * @param nodes {String || Array}  mark的id或id数组
 */
//调用方法:
spriteMark.isolation(["123", "1234"]);

1.2.19. resize

该方法用来调整 mark 的尺寸

名称 说明 类型 是否必须 示例
nodes 标签 id 或 id 数组 String 或 Array ["123","1234"]
width 宽度拉伸比例 Number 5
height 高度拉伸比例 Number 10
/**
 * 该方法用来调整mark的尺寸
 * @function resize
 * @param nodes {Array}  markid数组
 * @param widht {Number}  宽度
 * @param height {Number}  高度
 */

//调用方法:
spriteMark.resize(["123", "1234"], 1000, 2000);

1.2.20. listentoSelectMarks

该方法用来将选中的 mark 对象返回

/**
 * 该方法用来将选中的mark对象返回
 * @function listentoSelectMarks
 * @param callback {Function}  回调函数,参数为:选中的构件的id(以逗号分隔),选中的构件对象
 */

//调用方法:
spriteMark.listentoSelectMarks(function (a) {
    spriteMark.isolation(a);
});
版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-06-27 15:28:07

results matching ""

    No results matching ""