当前位置: 首页 > 文档资料 > ThingJS 文档中心 >

Class: GeoBuildingRenderer

优质
小牛编辑
121浏览
2023-12-01

CMAP~ GeoBuildingRenderer

GeoBuilding样式类


new GeoBuildingRenderer(geoBuilding, param)

构造函数

Parameters:
NameTypeDescription
geoBuildingCMAP.GeoBuilding

要渲染的GeoBuilding实例

paramObject

参数列表

Properties
NameTypeDescription
typeString

GeoBuilding的渲染类型 支持vector,image 默认为vector

colorString | Array | Number

当type=vector时生效 填充颜色 默认白色

opacityNumber

填充不透明度 默认1

imageUrlArray | String

当type=image时生效 贴图路径

textureWrapString

当type=image时生效 贴图循环方式 CMAP.TextureWrapMode.Stretch 拉伸,CMAP.TextureWrapMode.RepeatY 高度方向平铺 CMAP.TextureWrapMode.Repeat 水平和高度方向均平铺 默认CMAP.TextureWrapMode.RepeatY

textureSizeArray

当type=image且textureWrap为RepeatY或Repeat时生效 代表纹理尺寸 数组的每一个值必须大于0 单位:米 GeoBuilding的默认值是[3,3] GeoPolygon的默认值是多边形区域外包矩形的长和宽(基于WebMercator投影计算)

blendingBoolean

是否混合 默认不开启

lightsBoolean

是否接受光照 type为vector默认是true type为image默认是false type为cool为true切不可修改

useWindowBoolean

是否开启窗户效果 type为cool默认true 其他默认false

windowImageUrlString

窗户贴图的url

windowColorString

窗户颜色 默认白色

windowTextureWrapString

纹理环绕方式 around--环绕 normal--随贴图

windowTextureSizeArray

窗户纹理尺寸 仅windowTextureWrap为around时生效 数组的每一个值必须大于0 默认值[300,300]

offsetArray

当type=cool时生效 设置窗户贴图的偏移值 array[0]代表x轴偏移,array[1]代表y轴偏移

repeatArray

当type=cool时生效 设置窗户贴图的重复度 array[0]代表x轴重复度,array[1]代表y轴重复度

Members


blending :Boolean

是否混合

Type:
  • Boolean
Example
geoBuilding.renderer.blending = true;

color :String|Array|Number

设置楼宇填充色 在type为vector时生效

Type:
  • String | Array | Number
Example
geoBuilding.renderer.type = 'vector';//设置楼的渲染类型为vector(纯色)geoBuilding.renderer.color = 'rgb(255,0,0)'; //将颜色设置为红色

extrudeFactor :Number

高度拉伸倍数

Type:
  • Number
Deprecated:
  • 推荐使用geoBuilding.extrudeFactor
Example
geoBuilding.renderer.extrudeFactor = 2; //设置楼高度放大倍数

extrudeField :String

高度属性字段

Type:
  • String
Deprecated:
  • 推荐使用geoBuilding.extrudeField
Example
geoBuilding.renderer.extrudeField = 'height'; //设置楼的高度属性字段,该字段可在geoBuilding.userData中找到

imageUrl :Array|String

贴图url 包括顶部的贴图和侧面的贴图 数组第一个代表顶部贴图,第二个代表侧面贴图 如果不区分顶部和侧面,数组中就只有一个元素

Type:
  • Array | String
Example
//设置楼顶部的贴图和侧面的贴图,第一个代表顶部贴图路径,第二个代表侧面的贴图路径geoBuilding.renderer.type = 'image';//设置楼的渲染类型为image(贴图)geoBuilding.renderer.imageUrl = ['./temp/image1.png','./temp/image1.png'];

lights :Boolean

Type:
  • Boolean
Example
building.renderer.lights = true;

opacity :Number

填充色不透明度 仅在type为vector情况下生效

Type:
  • Number
Example
geoItem.renderer.opacity = 1; //将不透明度设置为1

specularFactor :Number

设置高光强度

Type:
  • Number
Example
geoBuilding.renderer.specularFactor = 1;

textureSize :Array

纹理尺寸单位米 如果是GeoBuilding,侧面贴图时会根据纹理尺寸去计算uv 在textureWrap为repeatY时 设置数组第二个参数生效 第一个参数无效 如果是GeoPolygon,顶面贴图时会根据纹理尺寸去计算uv

Type:
  • Array
Example
geoObject.renderer.textureSize = [3,3];  // 设置贴图纹理尺寸为3*3m

textureWrap :String

设置贴图循环方式,CMAP.TextureWrapMode.Stretch 拉伸,CMAP.TextureWrapMode.RepeatY 高度方向平铺 CMAP.TextureWrapMode.Repeat 水平和高度方向均平铺

Type:
  • String
Example
geoBuilding.renderer.textureWrap = CMAP.TextureWrapMode.RepeatY;

type :String

设置楼宇材质类型 vector或image

Type:
  • String
Example
geoBuilding.renderer.type = 'image'; //设置楼的渲染类型为image(贴图) 设置该属性后需要设置imageUrlgeoBuilding.renderer.type = 'vector'; //设置楼的渲染类型为vector(纯色) 设置该属性后需要设置color

useWindow :Boolean

是否使用窗体效果

Type:
  • Boolean

uvRatio :Array

type为image时生效 代表贴图在x和y方向的重复次数

Type:
  • Array
Example
geoObject.renderer.uvRatio = [10,10];