ShapeLayer

ShapeLayer

ShapeLayer 三维形状图层,提供了添加各种形状的方法。addXXX方法,点数组都使用地球坐标位置;addXXXAt方法,是在指定地球坐标位置用局部坐标数组添加各种形状。
基类: GeoObject3Layer

Members

Methods

constructor(earthViewer,name)

创建新的ShapeLayer。三维形状图层,提供了添加各种形状的方法。addXXX方法,点数组都使用地球坐标位置;addXXXAt方法,是在指定地球坐标位置用局部坐标数组添加各种形状。
Name Type Description
earthViewer EarthViewer
name string 图层名称。必须不能重名,否则无法正常创建和显示

addAnno(position,anno,color) → GeoObject3

添加标注对象
Name Type Description
position Vector3 位置
anno string 标注
color Color optional颜色

addArrow(points,headWidth,tailWidth,headThickness,tailThickness) → ArrowGeoObject

添加箭头对象
Name Type Description
points Vector3[] 中心线
headWidth number 头部宽度
tailWidth number 尾部宽度
headThickness number optional头部厚度
tailThickness number optional尾部厚度

addArrowAt(position,localPoints,headWidth,tailWidth,headThickness,tailThickness) → ArrowGeoObject

在指定位置添加箭头对象
Name Type Description
position Vector3 地球坐标位置
localPoints Vector3[] 局部坐标中心线
headWidth number 头部宽度
tailWidth number 尾部宽度
headThickness number optional头部厚度
tailThickness number optional尾部厚度

addBall(position,size,vertialAlignment) → MeshGeoObject

添加椭球体对象
Name Type Description
position Vector3 位置
size Size3 长宽高
vertialAlignment VerticalAlignment optional垂直对齐方式,缺省为中心对齐

addBox(position,size,vertialAlignment) → MeshGeoObject

添加长方体体对象
Name Type Description
position Vector3 位置
size Size3 长宽高
vertialAlignment VerticalAlignment optional垂直对齐方式,缺省为中心对齐

addCylinder(position,height,diameterTop,diameterBottom,vertialAlignment) → MeshGeoObject

添加圆锥体对象
Name Type Description
position Vector3 位置
height number 高度
diameterTop number 顶部直径
diameterBottom number 底部直径
vertialAlignment VerticalAlignment optional垂直对齐方式,缺省为中心对齐

addImage(position,imageUrlOrBitmap,displaySize) → ImageGeoObject

添加图片对象
Name Type Description
position Vector3 位置
imageUrlOrBitmap string | WriteableBitmap 图片的url或者WriteableBitmap对象

addLine(points,width) → LineGeoObject

添加折线对象
Name Type Description
points Vector3[] 坐标点数组
width number optional线宽。如果大于1,则创建宽线。宽线可以有丰富的显示配置,比如虚线等

addLineAt(position,localPoints,width) → LineGeoObject

在指定位置添加折线
Name Type Description
position Vector3 地球坐标位置
localPoints Vector3[] 局部坐标数组
width number optional线宽

addMesh(vertexData) → GlobalMeshGeoObject

通过VertexData直接添加三角网对象。使用地球坐标
Name Type Description
vertexData MeshVertexData

addMeshAt(position,localVertexData) → MeshGeoObject

在指定位置添加通过VertexData直接添加三角网对象。使用局部坐标
Name Type Description
position Vector3 地球坐标位置
localVertexData MeshVertexData 局部坐标数据

addModel(position,modelUrl) → ModelGeoObject

添加模型对象
Name Type Description
position Vector3 位置
modelUrl string 模型url,目前只支持Drawsee自定义格式

addPipeline(centerPoints,radiusOrSizeOrShape,isRoundTurn,beginNeighbour,endNeighbour) → GeoObject3

添加管线对象。管线截面可以是圆形,矩形,或者通过二维点数组自定义的形状。前后邻接点参数,需要多段管线协同使用,属于高级用法,通常忽略
Name Type Description
centerPoints Vector3[] 中心线数组
radiusOrSizeOrShape number | Size | Vector2[] 半径、长宽或者形状坐标数组
isRoundTurn boolean optional是否圆滑转弯
beginNeighbour Vector3 optional管线前邻接点位置,可以生成与前邻接管段的转弯衔接形状
endNeighbour Vector3 optional管线后邻接点位置,可以生成与后邻接管段的转弯衔接形状

addPipelineAt(position,localCenterPoints,radiusOrSizeOrShape,isRoundTurn,localBeginNeighbour,localEndNeighbour) → GeoObject3

在指定位置添加管线对象。管线截面可以是圆形,矩形,或者通过二维点数组自定义的形状。前后邻接点参数,需要多段管线协同使用,属于高级用法,通常忽略
Name Type Description
position Vector3 地球坐标位置
localCenterPoints Vector3[] 局部中心线数组
radiusOrSizeOrShape number | Size | Vector2[] 半径、长宽或者形状坐标数组
isRoundTurn boolean optional是否圆滑转弯
localBeginNeighbour Vector3 optional管线前邻接点位置,可以生成与前邻接管段的转弯衔接形状
localEndNeighbour Vector3 optional管线后邻接点位置,可以生成与后邻接管段的转弯衔接形状

addPlane(center,width,height,divideCount) → MeshGeoObject

添加平面对象
Name Type Description
center Vector3 中心点
width number 水平宽度
height number 水平高度
divideCount number optional平面长宽网格的细分个数

addPoly(points,holes) → PolyGeoObject

添加多边形
Name Type Description
points Vector3[] 外部轮廓点数组
holes Vector3[][] optional内部洞点二维数组

addPolyAt(position,localPoints,localHoles) → PolyGeoObject

添加多边形
Name Type Description
position Vector3 地球坐标位置
localPoints Vector3[] 局部坐标外部轮廓点数组
localHoles Vector3[][] optional局部坐标内部洞点二维数组

addPolyBox(points,minY,maxY,hasTopCover,hasBottomCover,holes) → PolyBoxGeoObject

添加多边形柱体对象。顶部和底部是同样的多边形轮廓。
Name Type Description
points Vector3[] 轮廓点数组
minY number 底部高度
maxY number 顶部高度
hasTopCover boolean optional是否有封闭顶部
hasBottomCover boolean optional是否封闭底部
holes Vector3[][] optional多边形洞数组

addPolyBox2(topPoints,bottomPoints,hasTopCover,hasBottomCover,isReverseNormal) → GlobalMeshGeoObject

添加多边形柱体对象,顶部和底部是可以指定不同到多边形轮廓,但是点数必须相同。
Name Type Description
bottomPoints Vector3[] 底部轮廓点数组
hasTopCover boolean optional是否有封闭顶部
hasBottomCover boolean optional是否封闭底部
isReverseNormal boolean optional是否反转法向量

addPolyBox2At(position,localTopPoints,localBottomPoints,hasTopCover,hasBottomCover,isReverseNormal) → MeshGeoObject

在指定位置添加多边形柱体对象,顶部和底部是可以指定不同到多边形轮廓,但是点数必须相同。
Name Type Description
position Vector3 地球坐标位置
localTopPoints Vector3[] 局部坐标顶部轮廓点数组
localBottomPoints Vector3[] 局部坐标底部轮廓点数组
hasTopCover boolean optional是否有封闭顶部
hasBottomCover boolean optional是否封闭底部
isReverseNormal boolean optional是否反转法向量

addPolyBoxAt(position,localPoints,minY,maxY,hasTopCover,hasBottomCover,holes) → PolyBoxGeoObject

在指定位置添加多边形柱体对象,顶部和底部是同样的多边形轮廓。
Name Type Description
position Vector3 地球坐标位置
localPoints Vector3[] 局部坐标轮廓点数组
minY number 底部高度
maxY number 顶部高度
hasTopCover boolean optional是否有封闭顶部
hasBottomCover boolean optional是否封闭底部
holes Vector3[][] optional多边形洞数组

addRiver(points,radius) → GlobalMeshGeoObject

根据中心线和半径添加河道形状
Name Type Description
points Vector3[] 经纬度中心线
radius number 半径米

addRiverAt(position,localPoints,radius) → MeshGeoObject

根据中心线和半径在指定位置添加河道形状
Name Type Description
position Vector3 基准经纬度
localPoints Vector3[] 局部坐标中心线
radius number 半径米

addWall(bottomCenterPoints,height,thickness,isRoundJoin) → WallGeoObject

添加墙体对象
Name Type Description
bottomCenterPoints Vector3[] 底部中心线坐标
height number 高度
thickness number 厚度
isRoundJoin boolean optional是否圆角转弯

addWallAt(position,localBottomCenterPoints,height,thickness,isRoundJoin) → WallGeoObject

在指定位置添加墙体对象
Name Type Description
position Vector3 地球坐标位置
localBottomCenterPoints Vector3[] 局部坐标底部中心线坐标
height number 高度
thickness number 厚度
isRoundJoin boolean optional是否圆角转弯