标签图标
设置特殊要求的图标图层,鼠标事件中可换图片
使用设备编辑器编辑位置、类别、区域、ID号
参数
MMSDT.addImages( dateJson, parameter)
dateJson: 点位参数,来源equip.json 配置文件。
parameter = {
originalImg: dirUrl + "textures/specific/original/", //图标初始图片目录
activeImg: dirUrl + "textures/specific/active/", //图标动作图片目录
scale: 2.2, //缩放比例
height: 9, //相对高度
visible: true, //默认显示
lookAt: false, //垂直约束
freeze: false, //是否冻结
}
代码示例
//读取标签图标的json配置文件
MMSDT.getJson( dirUrl+"models/equip2.json", callback);
function callback( dateJson ){
var parameter = {
originalImg: dirUrl + "textures/specific/original/", //图标初始图片目录
activeImg: dirUrl + "textures/specific/active/", //图标动作图片目录
scale: 2.2, //缩放比例
height: 9, //相对高度
visible: true, //默认显示
lookAt: false, //垂直约束
freeze: false, //是否冻结
}
new MMSDT.addImages( dateJson, parameter); //初始化标签图标
}
//读取设备的json配置文件
MMSDT.getJson( dirUrl+"models/equip.json", callbackEquip);
//回调函数
function callbackEquip( dateJson ){
var parameter1 = {
dirUrl: dirUrl, //安装目录
scale: 0.02, //设备模型大小缩放
visible: true, //默认显示
}
MMSDT.addModel(dateJson, parameter1); //加载设备模型
var parameter2 = {
dirUrl: dirUrl, //安装目录
scale: 1, //缩放比例
height: 4, //相对高度
color: 0x00ff00, //默认颜色
visible: true, //默认显示
}
MMSDT.addIcon( dateJson, parameter2); //加载设备图标
}
//鼠标事件
var eventMouse = [];
var onMove = [];
var outMove = function(){}
var onDown = [];
var onDouble = [];
var moveColor = [0xff0000,0x00ff00,true,true]; //移入颜色,移出颜色,设备是否变色,设备与图标变色是否相关联
function goBack( dateJson, dblClick ){
//点击标签图标
if( dblClick == 2 ){ //判断单击还是双击,1单击,2双击(无论单击还是双击,dateJson都会返回ID号,dblClick 仅用来判断是单击还是双击,如果不做判断,则单击或双击都有效)
switch(dateJson.id) {
case "一号楼": //一号楼
MMSDT.cameraTarget( [54.601,40.136,-256.329], [36.199,116.639,-359.820], 1000 ); //镜头目标聚焦
break;
case "二号楼": //二号楼
MMSDT.cameraTarget( [-16.467,29.882,-143.346], [-83.934,101.852,-195.237], 1000 );
break;
case "三号楼": //三号楼
MMSDT.cameraTarget( [42.060,44.147,149.618], [72.217,108.600,78.513], 1000 );
break;
case "四号楼": //四号楼
MMSDT.cameraTarget( [-92.828,23.886,-120.270], [-169.551,87.838,-108.290], 1000 );
break;
case "五号楼": //五号楼
MMSDT.cameraTarget( [10.405,17.416,-90.244], [72.445,77.917,-36.602], 1000 );
break;
}
}
}
//构建函数监听鼠标事件
MMSDT.mouseEvent( eventMouse, onMove, outMove, onDown, onDouble, moveColor, false, false, goBack );
//使用MMAPI类,自定义外部函数接口
MMAPI.menu = function(num){
switch(num) {
case 0: //显示设备图层
MMSDT.coverage(["A","B","C"]);
break;
case 1: //显示楼栋标注
MMSDT.coverage(["w"]);
break;
case 2: //全部隐藏
MMSDT.coverage([]);
break;
case 3: //恢复鸟瞰
MMSDT.cameraTarget( [0,0,0], [-268, 150, 56], 1000 );
break;
}
}
在线演示
Powered by mms3D