ShapeLayer 三维形状图层,提供了添加各种形状的方法。addXXX方法,点数组都使用地球坐标位置;addXXXAt方法,是在指定地球坐标位置用局部坐标数组添加各种形状。
Members
Methods
创建新的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是否圆角转弯 |