JavaScript SDK版本3.6.210
2022-07-13
// 获取场景的图层管理器。每个场景对应一个LayerManager实例,不需要单独构造。
let layerManager = viewerGIS.getLayerManager();
// BIMLayer、TilesetLayer、FeatureLayer支持基于setLocation()接口设置模型位置
// 外部构件图层可基于ExternalObjectManager下的setLocation()接口设置对应外部构件的位置
// 根据图层ID获取对应图层对象
let bimLayer = layerManager.getLayer('对应BIM图层的ID');
let extLayer = layerManager.getLayer('对应外部构件图层的ID');
// 获取外部构件图层对应的外部构件管理器
let extMng = extLayer.getExternalObjectManager();
// 基于经纬度与高程信息设置BIM图层对应的模型位置
bimLayer.setLocation({latLon:{lat: 31.254685987 , lon: 121.568945612, alt: 0} });
// 获取图层对应的模型位置,将返回经纬度、高程信息与世界坐标信息
// 如{latLon: {lat: 31.254685987, lon: 121.568945612, alt: 0}, worldPosition: {x:500,y:1000,z:0}}
console.log(bimLayer.getLocation());
// 基于经纬度与高程信息设置指定外部构件的位置
extMng.setLocation('extObjId1',{latLon:{lat: 31.254652351, lon: 121.568945612, alt: 2} });
// 基于世界坐标设置指定外部构件的位置
extMng.setLocation('extObjId2',{worldPosition:{x: 500,y: 100,z: 5} });
// 获取指定外部构件的位置
console.log(extMng.getLocation('extObjId1'));
BIMFACE智能客服
7*24提供专业的BIMFACE使用支持与帮助