Mesh

AMD: require(["geoscene/geometry/Mesh"], (Mesh) => { /* code goes here */ });
ESM: import Mesh from "@geoscene/core/geometry/Mesh.js";
类: geoscene/geometry/Mesh
继承于:Mesh Geometry Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.7

网格是一种常规的客户端 3D 几何类型,由具有属性的折点组成。折点包括地理位置、影响照明/阴影的法线以及可用于将图像映射到网格的 uv 坐标。折点被组合成 3D 基元以渲染场景中的网格 (目前仅支持三角形基元)。

网格几何可以具有决定其显示方式的固有材料。与场景图层中的 3D 对象类似,网格几何使用包含 FillSymbol3DLayerMeshSymbol3D 符号进行符号化。

为了支持多种材质 (复杂 3D 模型通常就是这种情况),网格可以定义为网格中的特定区域定义材质的组件。除了支持多种材质外,组件还可以重用折点,否则这些折点将被复制以形成三角形。

网格自 4.27 起可加载。特别是当网格来自远程服务 (如通过 SceneLayer.queryFeatures) 时,则需要通过 load 方法异步加载网格的内容,然后才能使用 vertexAttributesextentcomponents 等。

创建简单的网格几何基元

网格几何类具有许多用于创建简单基元形状的便利函数。这些形状可以帮助您开始了解网格几何。

// Create a box mesh geometry
let mesh = Mesh.createBox(location, {
  size: {
    width: 100,
    height: 50,
    depth: 50
  },
  material: {
    color: "red"
  }
});

// Create a graphic and add it to the view
let graphic = new Graphic({
  geometry: mesh,
  symbol: {
    type: "mesh-3d",
    symbolLayers: [ { type: "fill" } ]
  }
});

view.graphics.add(graphic);

手动创建网格几何

可以通过指定 vertexAttributescomponents 来手动创建网格几何图形,如以下示例所示:

// Create a mesh geometry representing a pyramid
let pyramidMesh = new Mesh({
  vertexAttributes: {
    // vertex positions for the Louvre pyramid, Paris
    position: [
      // vertex 0 - base of the pyramid, south
      2.336006, 48.860818, 0,

      // vertex 1 - base of the pyramid, east
      2.336172, 48.861114, 0,

      // vertex 2 - base of the pyramid, north
      2.335724, 48.861229, 0,

      // vertex 3 - base of the pyramid, west
      2.335563, 48.860922, 0,

      // vertex 4 - top of the pyramid
      2.335896, 48.861024, 21
    ]
  },
  // Add a single component with faces that index the vertices
  // so we only need to define them once
  components: [
    {
      faces: [
        0, 4, 3,
        0, 1, 4,
        1, 2, 4,
        2, 3, 4
      ]
    }
  ],
  // specify a spatial reference if the position of the vertices is not in WGS84
});

// add the mesh geometry to a graphic
let graphic = new Graphic({
  geometry: pyramidMesh,
  symbol: {
    type: "mesh-3d",
    symbolLayers: [ { type: "fill" } ]
  }
});

view.graphics.add(graphic);

注:从版本 4.11 开始,网格几何不再支持自动转换。

另请参阅

构造函数

new Mesh(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

所有属性都可以设置、获取和监听。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
Object

缓存用于存储从几何中计算的值,这些值需要在发生突变时清除或重新计算。

更多详情
Geometry
MeshComponent[]

一组网格组件,可用于将材质应用于同一网格的不同区域。

更多详情
Mesh
String

类的名称。

更多详情
Accessor
范围

网格几何的 3D 范围。

更多详情
Mesh
Boolean

指示几何是否具有 M 值。

更多详情
Geometry
Boolean

指示几何是否具有 z 值 (高程)。

更多详情
Geometry
Error

加载时发生的错误,返回 Error 对象

更多详情
Mesh
String

load 操作的状态

更多详情
Mesh
Object[]

加载时发生的警告列表

更多详情
Mesh
SpatialReference

几何的空间参考。

更多详情
Geometry
MeshTransform

网格的变换。

更多详情
Mesh
String

表示几何类型的字符串值。

更多详情
Mesh
Accessor

此对象可描述网格的每个折点的属性。

更多详情
Mesh
MeshGeoreferencedVertexSpace|MeshGeoreferencedRelativeVertexSpace|MeshLocalVertexSpace

网格的顶点空间。

更多详情
Mesh

属性详细信息

cache Objectreadonly inherited

缓存用于存储从几何中计算的值,这些值需要在发生突变时清除或重新计算。例如,面的范围。

一组网格组件,可用于将材质应用于同一网格的不同区域。组件有三种常见的使用模式。

  1. 为整个网格指定材质。在这种情况下,请使用仅具有材质的单个组件 (将面保留为 null)。
  2. 重用折点属性。对连续表面进行建模时,只需指定一次折点,然后简单地引用它们,这样会很方便。在这种情况下,请使用设置了面的单个组件来索引形成三角形的折点属性。
  3. 为同一网格指定多个材质。在这种情况下,请使用多个组件,其面用于确定组件的材料应用于网格的哪个区域。
declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

extent Extentreadonly

网格几何的 3D 范围。范围是根据存储在 vertexAttributes 中的折点位置计算的。3D 范围是按需计算和缓存的。如果手动修改 vertexAttributes,则必须调用 vertexAttributesChanged() 以确保重新计算范围。

指示几何是否具有 M 值。

指示几何是否具有 z 值 (高程)。

在地理或公制坐标系中定义的 Z 值 用米表示。然而,在使用投影坐标系的局部场景中,垂直单位假定为与服务指定的水平单位相同。

loadError Errorreadonly

加载时发生的错误,返回 Error 对象

默认值:null
loadStatus Stringreadonly

load 操作的状态

描述
not-loaded 尚未加载
loading 正在加载
loaded 对象已加载且未出现错误
failed 无法加载对象的资源。有关更多详情,请参阅 loadError

可能值"not-loaded"|"loading"|"failed"|"loaded"

默认值:not-loaded
loadWarnings Object[]readonly

加载时发生的警告列表

几何的空间参考。

默认值:WGS84 (wkid: 4326)

网格的变换。当 vertexSpace.type"georeferenced" 时无效。

type Stringreadonly

表示几何类型的字符串值。

对于 Mesh,类型总是 "mesh"

vertexAttributes Accessorautocast

此对象可描述网格的每个折点的属性。折点属性是平面数值数组,用于描述每个折点的位置 (强制)、法线 (用于照明计算和着色) 和 uv (用于将材质图像映射到网格表面)。

折点属性可以通过组件 faces 属性中指定的索引进行寻址。如果网格不包含任何组件,或者组件未指定任何面,则折点属性将被解释为每个连续的折点三元组组成一个三角形。

属性
position Float64Array
自动转换自 Number[]|Float32Array

折点位置的平面数组。折点位置具有 x、y 和 z 坐标,并且它们应位于几何的空间参考系统中。

optional
自动转换自 Number[]|Float64Array

折点 uv 坐标的平面数组 (每个折点 2 个元素)。

optional
自动转换自 Number[]|Float64Array

折点法线的平面数组 (每个折点 3 个元素,范围从 -1 到 1)。

optional
自动转换自 Number[]|Uint8ClampedArray

起始版本:4.9

折点颜色的平面数组 (每个折点 4 个元素,范围从 0 到 255)。折点颜色乘以组件材料颜色 (如果已定义)。

tangent Float32Array
optional
自动转换自 Number[]|Float64Array

起始版本:4.11

折点切线的平面数组 (每个折点 4 个元素,范围从 -1 到 1。第 4 个元素是一个符号值 (-1 或 +1),表示切线基准的偏手性)折点切线用于法线贴图,请参阅 MeshMaterial.normalTexture

示例
let mesh = new Mesh({ spatialReference: SpatialReference.WebMercator });

// Specify vertices for two triangles that make up a square
// around a provided point. Uv coordinates are setup to cover the square
// from (0, 0) to (1, 1) from corner to corner.
mesh.vertexAttributes = {
  position: [
    pt.x - 10, pt.y - 10, 100,
    pt.x + 10, pt.y - 10, 100,
    pt.x + 10, pt.y + 10, 100,

    pt.x - 10, pt.y - 10, 100,
    pt.x + 10, pt.y + 10, 100,
    pt.x - 10, pt.y + 10, 100
  ],
  uv: [
    0, 0,
    1, 0,
    1, 1,

    0, 0,
    1, 1,
    0, 1
  ]
};

网格的顶点空间。

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

向网格添加一个组件。

更多详情
Mesh

添加一个或多个与对象生命周期相关联的句柄

更多详情
Accessor

如果 load() 操作已在进行中,则取消它。

更多详情
Mesh
Mesh

将网格居中于指定位置,而不更改其比例。

更多详情
Mesh
Mesh

创建 Mesh 对象的深度克隆。

更多详情
Mesh
Mesh

创建表示为方格的网格。

更多详情
Mesh
Mesh

创建表示圆柱体的网格。

更多详情
Mesh
Promise<Mesh>

从文件或文件列表创建网格几何,该几何已准备好显示在视图中。

更多详情
Mesh
Promise<Mesh>

url 参数引用的 glTF 模型创建新的网格几何。

更多详情
Mesh
Mesh

从面几何创建新的网格几何。

更多详情
Mesh
Mesh

创建表示平面的网格。

更多详情
Mesh
Mesh

创建表示球体的网格。

更多详情
Mesh
*

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。

更多详情
Geometry
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor
Boolean

isFulfilled() 可用于验证创建类的实例是否已完成 (已解决或已拒绝)。

更多详情
Mesh
Boolean

isRejected() 可用于验证创建类的实例是否被拒绝。

更多详情
Mesh
Boolean

isResolved() 可用于验证创建类的实例是否已解决。

更多详情
Mesh
Promise

加载此类引用的资源。

更多详情
Mesh
Mesh

将网格几何偏移指定的距离 (以 x、y 和 z 为单位)。

更多详情
Mesh

从网格中移除组件。

更多详情
Mesh

移除对象拥有的句柄组。

更多详情
Accessor
Mesh

围绕其 x、y 和 z 轴 (按该顺序) 旋转网格几何。

更多详情
Mesh
Mesh

按指定因子缩放网格几何。

更多详情
Mesh
Object

将此类的实例转换为其 GeoScene Portal JSON 表示。

更多详情
Geometry

通知需要重新计算依赖于折点属性的任何缓存值。

更多详情
Mesh
Promise

when() 一旦创建了类的实例,就可以使用 。

更多详情
Mesh

方法详细说明

addComponent(component)

向网格添加一个组件。

参数
自动转换自 Object

要添加的组件。

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

this.addHandles(handle);

// Destroy the object
this.destroy();
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

cancelLoad()

如果 load() 操作已在进行中,则取消它。

centerAt(location, params){Mesh}

将网格居中于指定位置,而不更改其比例。网格将就地修改。要改为修改网格副本,请在调用 centerAt() 之前使用 clone()

参数
规范
location Point

网格居中的位置。

params Object
optional

其他参数。

规范
geographic Boolean
optional

是相对于地球还是投影坐标系 (PCS) 进行地理配准。此参数仅与可在局部和全球查看模式 (当前仅限 WebMercator) 中使用的空间参考相关,否则将被忽略。默认值为 true。如果为 true,则应用于网格中心的平移是在笛卡尔坐标系中完成的,其相对于地球上的局部坐标系,并以米为单位指定。

origin Point
optional

要居中的原点。如果未指定,网格将在格网范围中心居中。

返回
类型 描述
Mesh 修改后的网格。
clone(){Mesh}

创建 Mesh 对象的深度克隆。

返回
类型 描述
Mesh Mesh 对象的新实例,其等于用于调用 .clone() 的对象。
createBox(location, params){Mesh}static

创建表示为方格的网格。结果网格的空间参考与其放置位置相同。

方格 UV 坐标空间

方格几何将具有根据以下方案生成的 UV 坐标:

参数
规范
location Point

方格底部中心的位置。

params Object
optional

其他参数。

规范
optional

统一的大小值或包含单个 ”宽度“、”高度“ 和 ”深度“ 值的对象。大小值的单位派生自所提供位置的空间参考,除非指定了单位。

规范
width Number
optional

创建的网格的宽度。

depth Number
optional

创建的网格的深度。

height Number
optional

创建的网格的高度。

geographic Boolean
optional

是相对于地球还是投影坐标系 (PCS) 进行地理配准。此参数仅与可在局部和全球查看模式 (当前仅限 WebMercator) 中使用的空间参考相关,否则将被忽略。默认值为 true。如果为 true,则在笛卡尔坐标系中创建网格,其相对于地球上的局部坐标系,并以米为单位指定大小。

unit String
optional

大小的单位 (默认为位置空间参考的单位)。

可能的值"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"

optional
自动转换自 Object

用于网格的材料。

imageFace String
optional

用于生成图像 uv 坐标的面。默认情况下,会为所有面生成一组未解析的 UV 坐标。通过将 imageFace 参数设置为以下值之一:eastwestnorthsouthupdown,指定的面将具有完整大小的 UV 坐标,而其他面将与其常规未解析的 UV 坐标有关。这对于仅将图像应用于框的单个面很有用。提供的 material 参数将应用于指定的 imageFace。生成的格网将有两个组件,第一个包含选定的图像面,第二个包含框的其他面。

返回
类型 描述
Mesh 结果网格。
示例
let mesh = Mesh.createBox(point, {
  size: {
    width: 10,
    height: 100,
    depth: 20
  },
  material: {
    color: "green"
  }
});
let mesh = Mesh.createBox(point, {
  imageFace: "top",
  material: {
    colorTexture: new MeshTexture({ url: "./url-to-image.png" })
  }
});
createCylinder(location, params){Mesh}static

创建表示圆柱体的网格。结果网格的空间参考与其放置位置相同。

圆柱 UV 坐标空间

圆柱体几何将具有根据以下方案生成的 UV 坐标 (以下为 8 个折点圆柱体示例):

参数
规范
location Point

圆柱体底部中心的位置。

params Object
optional

其他参数。

规范
optional

统一的大小值或包含单个 ”宽度“、”高度“ 和 ”深度“ 值的对象。大小值的单位派生自所提供位置的空间参考,除非指定了特定单位。

规范
width Number
optional

创建的网格的宽度。

depth Number
optional

创建的网格的深度。

height Number
optional

创建的网格的高度。

geographic Boolean
optional

是相对于地球还是投影坐标系 (PCS) 进行地理配准。此参数仅与可在局部和全球查看模式 (当前仅限 WebMercator) 中使用的空间参考相关,否则将被忽略。默认值为 true。如果为 true,则在笛卡尔坐标系中创建网格,其相对于地球上的局部坐标系,并以米为单位指定大小。

unit String
optional

大小的单位 (默认为位置空间参考的单位)。

可能的值"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"

densificationFactor Number
optional

用于生成表示圆柱体网格的其他细分数。densificationFactor 参数为 0 将生成默认的 16 个折点,以近似于圆柱体。densificationFactor 为 1 将生成 32 个折点,依此类推。densificationFactor 越大,网格就越接近完美的圆柱体 (以处理和渲染性能为代价)。

optional
自动转换自 Object

用于网格的材料。

返回
类型 描述
Mesh 结果网格。
createFromFiles(location, files, params){Promise<Mesh>}static
起始版本:GeoScene Maps SDK for JavaScript 4.27

从文件或文件列表创建网格几何,该几何已准备好显示在视图中。该实用工具可以使用场景图层来执行必要的文件转换,以获得结果网格。

参数
规范
location Point

模型原点的位置。如果位置不包含 z 值,则假定 z 为 0

files File[]

从中创建网格的文件。

params Object
optional

其他参数。

规范
optional

要将文件上传到的图层,以及将执行任何必要转换的图层。

optional

中止加载过程的 AbortSignal。如果取消,则 promise 将被拒绝,并返回一个名为 AbortError 的错误。另请参见 AbortController

返回
类型 描述
Promise<Mesh> 解析为表示指定文件的网格几何的 promise。
createFromGLTF(location, url, params){Promise<Mesh>}static
起始版本:GeoScene Maps SDK for JavaScript 4.11

url 参数引用的 glTF 模型创建新的网格几何。结果格网的空间参考与 location 参数相同。

参数
规范
location Point

模型原点的位置。如果位置不包含 z 值,则假定 z 为 0

url String

glTF 模型的 URL。URL 应指向 glTF 文件 (.gltf 或 .glb),该文件可引用其他二进制文件 (.bin) 和图像文件 (.jpg, .png)。

params Object
optional

其他参数。

规范
geographic Boolean
optional

是相对于地球还是投影坐标系 (PCS) 进行地理配准。此参数仅与可在局部和全球查看模式 (当前仅限 WebMercator) 中使用的空间参考相关,否则将被忽略。默认值为 true。如果为 true,则在笛卡尔坐标系中创建网格,其相对于地球上的局部坐标系,并以米为单位指定大小。

optional

中止加载过程的 AbortSignal。如果取消,则 promise 将被拒绝,并返回一个名为 AbortError 的错误。另请参见 AbortController

返回
类型 描述
Promise<Mesh> 解析为表示加载的 glTF 模型的格网几何的 promise。
createFromPolygon(polygon, params){Mesh}static

从面几何创建新的网格几何。生成的格网仅包含一个位置折点属性和带有面的单个组件。默认着色将设置为 flat。结果格网的空间参考与输入多边形相同。生成的格网将不包含任何 uv 或法线折点属性。

参数
polygon Polygon

输入面。

params Object
optional

可选参数。

规范
optional
自动转换自 Object

用于网格的材料。

返回
类型 描述
Mesh 表示三角化面的新格网。
createPlane(location, params){Mesh}static

创建表示平面的网格。结果网格的空间参考与其放置位置相同。平面由两个三角形组成,在创建时可以方便地定向。

平面 UV 坐标空间

平面几何将具有根据以下方案生成的 UV 坐标:

参数
规范
location Point

平面底部中心的位置。

params Object
optional

其他参数。

规范
optional

统一的大小值或包含单个宽度和高度值的对象。大小值的单位派生自所提供位置的空间参考,除非指定了单位。

规范
width Number
optional

创建的网格的宽度。

height Number
optional

创建的网格的高度。

facing String
optional
默认值:"up"

平面朝向的方向。

可能值"east"|"west"|"north"|"south"|"up"|"down"

geographic Boolean
optional

是相对于地球还是投影坐标系 (PCS) 进行地理配准。此参数仅与可在局部和全球查看模式 (当前仅限 WebMercator) 中使用的空间参考相关,否则将被忽略。默认值为 true。如果为 true,则在笛卡尔坐标系中创建网格,其相对于地球上的局部坐标系,并以米为单位指定大小。

unit String
optional

大小的单位 (默认为位置空间参考的单位)。

可能的值"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"

optional
自动转换自 Object

用于网格的材料。

返回
类型 描述
Mesh 结果网格。
createSphere(location, params){Mesh}static

创建表示球体的网格。结果网格的空间参考与其放置位置相同。

球体 UV 坐标空间

球体几何将具有根据以下方案生成的 UV 坐标(以下为 8x8 个折点球体示例):

参数
规范
location Point

球体底部中心的位置。

params Object
optional

其他参数。

规范
optional

统一的大小值或包含单个 ”宽度“、”高度“ 和 ”深度“ 值的对象。大小值的单位派生自所提供位置的空间参考,除非指定了单位。

规范
width Number
optional

创建的网格的宽度。

depth Number
optional

创建的网格的深度。

height Number
optional

创建的网格的高度。

geographic Boolean
optional

是相对于地球还是投影坐标系 (PCS) 进行地理配准。此参数仅与可在局部和全球查看模式 (当前仅限 WebMercator) 中使用的空间参考相关,否则将被忽略。默认值为 true。如果为 true,则在笛卡尔坐标系中创建网格,其相对于地球上的局部坐标系,并以米为单位指定大小。

unit String
optional

大小的单位 (默认为位置空间参考的单位)。

可能的值"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"

densificationFactor Number
optional

用于生成表示球体网格的其他细分数。densificationFactor 参数为 0 将生成默认的 16*16 个折点,以近似于球体。densificationFactor 为 1 将生成 32*32 个折点,依此类推。densificationFactor 越大,网格就越接近完美的球体 (以处理和渲染性能为代价)。

optional
自动转换自 Object

用于网格的材料。

返回
类型 描述
Mesh 结果网格。
fromJSON(json){*}static

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。传入到输入 json 参数的对象通常来自对 REST API 中查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。

参数
json Object

GeoScene 格式实例的 JSON 表示。

返回
类型 描述
* 返回该类的新实例。
hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
isFulfilled(){Boolean}

isFulfilled() 可用于验证创建类的实例是否已完成 (已解决或已拒绝)。如果满足,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已完成 (已解决或已拒绝)。
isRejected(){Boolean}

isRejected() 可用于验证创建类的实例是否被拒绝。如果被拒绝,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已被拒绝。
isResolved(){Boolean}

isResolved() 可用于验证创建类的实例是否已解决。如果已解决,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已解决。
load(signal){Promise}

加载此类引用的资源。如果视图是使用地图实例构造的,则此方法会自动为 View 及其在 Map 中引用的所有资源执行。

开发人员在访问不会在 View 中加载的资源时,必须调用此方法。

load() 方法仅在第一次调用时触发资源的加载。随后的调用将返回相同的 promise。

可以提供一个 signal 来停止对 Loadable 实例加载状态感兴趣。当信号中止时,实例不会停止其加载过程,只有 cancelLoad 可以中止它。

参数
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise 资源已加载时解析。
offset(dx, dy, dz, params){Mesh}

将网格几何偏移指定的距离 (以 x、y 和 z 为单位)。x、y 和 z 的单位是空间参考的单位。当在地理上应用偏移时 (默认为 GCS 或 WebMercator),则偏移量以米为单位进行解释。网格将就地修改。要修改格网副本,请在调用 offset() 之前使用 clone()

参数
规范

在 x 方向上偏移几何的量。

在 y 方向上偏移几何的量。

在 z 方向上偏移几何的量。

params Object
optional

其他参数。

规范
geographic Boolean
optional

是相对于地球还是投影坐标系 (PCS) 进行地理配准。此参数仅与可在局部和全球查看模式 (当前仅限 WebMercator) 中使用的空间参考相关,否则将被忽略。默认值为 true。如果为 true,则在笛卡尔坐标系中应用偏移,其相对于地球上的局部坐标系,并以米为单位指定。

origin Point
optional

要应用偏移的原点如果未指定,则网格将从格网范围中心进行偏移。

返回
类型 描述
Mesh 修改后的格网 (此实例)。
removeComponent(component)

从网格中移除组件。

参数
component MeshComponent

要移除的组件。

removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");
rotate(angleX, angleY, angleZ, params){Mesh}

围绕其 x、y 和 z 轴 (按该顺序) 旋转网格几何。对于每个旋转角度,当从相应轴的方向看时,旋转方向为顺时针方向。网格将就地修改。要修改格网副本,请在调用 rotate() 之前使用 clone()

参数
规范
angleX Number

绕 x 轴旋转的角度(以度为单位)。

angleY Number

绕 y 轴旋转的角度(以度为单位)。

angleZ Number

绕 z 轴旋转的角度(以度为单位)。

params Object
optional

其他参数。

规范
geographic Boolean
optional

是相对于地球还是投影坐标系 (PCS) 进行地理配准。此参数仅与可在局部和全球查看模式 (当前仅限 WebMercator) 中使用的空间参考相关,否则将被忽略。默认值为 true。如果为 true,则在笛卡尔坐标系中应用旋转,其相对于地球上的局部坐标系,并以米为单位指定。

origin Point
optional

要围绕其旋转的原点。如果未指定,则格网将围绕格网范围中心进行旋转。

返回
类型 描述
Mesh 修改后的格网 (此实例)。
示例
// rotate the mesh in the horizontal plane (around the z axis) by 90 degrees and tilt it in the lateral
// vertical plane (around the y axis) by 20 degrees.
mesh.rotate(0, 20, 90);
scale(factor, params){Mesh}

按指定因子缩放网格几何。网格将就地修改。要修改格网副本,请在调用 scale() 之前使用 clone()

参数
规范
factor Number

缩放几何的量。

params Object
optional

其他参数。

规范
geographic Boolean
optional

是相对于地球还是投影坐标系 (PCS) 进行地理配准。此参数仅与可在局部和全球查看模式 (当前仅限 WebMercator) 中使用的空间参考相关,否则将被忽略。默认值为 true。如果为 true,则在笛卡尔坐标系中应用缩放,其相对于地球上的局部坐标系。

origin Point
optional

缩放的原点。如果未指定,则将围绕格网范围中心缩放格网。

返回
类型 描述
Mesh 修改后的格网 (此实例)。
toJSON(){Object}inherited

将此类的实例转换为其 GeoScene Portal JSON 表示。有关详细信息,请参阅使用 fromJSON() 指南主题。

返回
类型 描述
Object 此类实例的 GeoScene Portal JSON 表示。
vertexAttributesChanged()

通知需要重新计算依赖于折点属性的任何缓存值。适当修改折点属性后使用此方法,以便相应地重新计算依赖于这些折点属性的值 (例如,范围的计算)。

when(callback, errback){Promise}

when() 一旦创建了类的实例,就可以使用 。此方法接受两个输入参数:callback 函数和 errback 函数。callback 在类的实例加载时执行。errback 在类的实例无法加载时执行。

参数
callback Function
optional

当 promise 解决时调用的函数。

errback Function
optional

当 promise 失败时执行的函数。

返回
类型 描述
Promise 返回 callback 结果的新 promise,可用于链接其他函数。
示例
// Although this example uses MapView, any class instance that is a promise may use when() in the same way
let view = new MapView();
view.when(function(){
  // This function will execute once the promise is resolved
}, function(error){
  // This function will execute if the promise is rejected due to an error
});

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。