Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
参数选项:
|
Example:
//示例代码
let url = `/geomap-api/JsCesuimDemo/resource/data/ld/4403060110180500010/tileset.json`;
var singleBuildingLayer = new Cesium.GeoSingleBuildingLayer({
url,
viewer,
floorCodeField: 'floor',
houseCodeField: 'Name',
selectedColor: convertColor(viewModel['房屋选中颜色']),
hoveredColor: convertColor(viewModel['鼠标悬停颜色'])
});
singleBuildingLayer.addTo(viewer);
// 或者使用下面的方式,添加到效果图层中。
// viewer.effectLayers.add(singleBuildingLayer);
//绑定全局的事件监听,仅对效果图层有效
viewer.on('click',function(e){
if(e.originalLayer === singleBuildingLayer){
singleBuildingLayer.selectedHouseCode = e.houseCode;
singleBuildingLayer.selectedFloorCode = e.floorCode;
singleBuildingLayer.selectedHouseFeature = e.param.info;
}
})
viewer.on('hover',function(e){
if(e.originalLayer === singleBuildingLayer){
singleBuildingLayer.hoveredHouseCode = e.houseCode;
}
})
Demo:
Extends
Members
显示模式。当选中3楼时,3楼以上的显示模式可以是隐藏(HIDE)或偏移(OFFSET),或者设置分层偏移(FLOOROFFSET)
Example:
GeoSingleBuildingLayer.DisplayMode.HIDE;
GeoSingleBuildingLayer.DisplayMode.OFFSET;
GeoSingleBuildingLayer.DisplayMode.FLOOROFFSET;
displayMode : GeoSingleBuildingLayer.DisplayMode
模式设置,当选中3楼时,3楼以上的显示模式可以是隐藏(HIDE)或偏移(OFFSET)或分层偏移(FLOOROFFSET)
Example:
singleBuildingLayer.displayMode = Cesium.GeoSingleBuildingLayer.DisplayMode.OFFSET;
singleBuildingLayer.displayMode = Cesium.GeoSingleBuildingLayer.DisplayMode.HIDE;
singleBuildingLayer.displayMode = Cesium.GeoSingleBuildingLayer.DisplayMode.FLOOROFFSET;
房屋所在楼层编码字段名
分层偏移时的偏移量数组,值为[operator, value, x, y, z],operator操作符包括('>', '<', '>=', '<=', '==='),value楼层数,x水平向东偏移值,y水平向南偏移值,z垂直方向偏移值],
如['>=', 3, 10, 10, 10]表示楼层数大于等于3的楼层在x、y、z方向偏移10,格式为[['>=', 3, 10, 10, 10],['===', 2, 5, 5, 6]...]
Example:
let url = `/geomap-api/JsCesuimDemo/resource/data/ld/4403060110180500010/tileset.json`;
var singleBuildingLayer = new Cesium.GeoSingleBuildingLayer({
url,
viewer,
floorCodeField: 'floor',
houseCodeField: 'Name',
selectedColor: convertColor(viewModel['房屋选中颜色']),
hoveredColor: convertColor(viewModel['鼠标悬停颜色']),
displayMode: Cesium.GeoSingleBuildingLayer.DisplayMode.FLOOROFFSET,
floorOffsets: [['>=', 3, 10, 10, 10],['===', 2, 5, 5, 6], ['===', 1, 0, 0, 4]]
});
//或者添加到效果图层后再赋值
singleBuildingLayer.addTo(viewer);
singleBuildingLayer.floorOffsets = [['>=', 3, 10, 10, 10],['===', 2, 5, 5, 6], ['===', 1, 0, 0, 4]]
房屋编码字段名
鼠标悬停对应的模型颜色
悬浮的房屋编号
偏移距离,如果是显示模式时偏移时,偏移的距离,单位米。
选中的模型颜色
选中的楼层编号
选中的房屋编号
选中的房屋对象
3DTileset模型文件路径
Methods
绑定到三维地图
Name | Type | Description |
---|---|---|
map |
viewer |
- Inherited From:
调用动画:浮入/浮出动画或模型展开动画
Name | Type | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
动画参数
|
Example:
//示例代码
1、调用时区分动画类型,设置type
singleBuildingLayer.animate({
type: options.type,
duration: 1.5,
floatingIn: options.isIn? true: false,
bottom: -60,
direction: options.direction,
offset: options.offset,
floor: options.floor
})
2、调用时不设置type,默认为浮入/浮出动画
singleBuildingLayer.animate({
duration: 1.5,
floatingIn: options.isIn,
bottom: -60,
})
应用房屋辉光效果
Name | Type | Description |
---|---|---|
houseTileFeature |
Cesium3DTileFeature | 选中的房屋对象,可以缺省 |
清除高亮,包含选中和悬浮
销毁图层对象
- Inherited From:
获取图层数据
- Inherited From:
获取数据源
- Inherited From:
hide() → GeoSingleBuildingLayer
隐藏图层
Returns:
高亮房屋
Name | Type | Description |
---|---|---|
selectedHouseCode |
String | Number | 选中的房屋编码,可以缺省 |
selectedFloorCode |
String | Number | 选中的房屋所在楼层,可以缺省 |
hoveredHouseCode |
String | Number | 悬浮的房屋编码,可以缺省 |
拾取图层中的要素
Name | Type | Description |
---|---|---|
pickedFeatures |
Array | 场景中被拾取的对象集合,需要在图层自己内部判断识别出属于自己的,并挂接上图层的属性信息 |
windowPosition |
Cartesian2 | 画布的二维坐标 |
Returns:
返回固定形态的结构数据
Example:
//返回结构参考样例
{
houseCode: fwCode,
floorCode: floor,
eventType: ScreenSpaceEventType.LEFT_CLICK,
originalLayer: GeoSingleBuildingLayer
param:{
info: pickedFeature,
pickedInfos: pickedFeatureList
}
}
移除3dtiles
移除数据源
- Inherited From:
渲染图层
偏移后的建筑还原
data改变重新渲染3dtiles
Name | Type | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data |
Object |
optional
数据:
|
设置数据源
Name | Type | Description |
---|---|---|
dataSource |
GeoDataSource |
- Inherited From:
show() → GeoSingleBuildingLayer
显示图层
Returns:
应用建筑展开
Name | Type | Description |
---|---|---|
spreadDirection |
String | 模型展开的方向,默认为'x' |
spreadNum |
Number | 模型展开的偏移量,默认为10 |
currentFloor |
Number | 当前需要偏移的楼层数,缺省时整个建筑展开 |