当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS ObjectSymbol3DLayer用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/symbols/ObjectSymbol3DLayer"], (ObjectSymbol3DLayer) => { /* code goes here */ });

ESM: import ObjectSymbol3DLayer from "@arcgis/core/symbols/ObjectSymbol3DLayer";

类: esri/symbols/ObjectSymbol3DLayer

继承: ObjectSymbol3DLayer > Symbol3DLayer > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

ObjectSymbol3DLayer 用于使用 SceneView 中的 PointSymbol3D 的体积 3D 形状(例如,球体或圆柱体)来渲染 Point 几何图形。 MapView 不支持 3D 符号。 Polygon 要素也可以使用 ObjectSymbol3DLayers 进行渲染,但在这种情况下,对象符号图层必须包含在 PolygonSymbol3D 中,而不是 PointSymbol3D 中。

对象的形状在资源属性中设置,对象的颜色在材质属性中设置。对象的大小始终以米为单位定义。大小可以直接在高度、宽度和深度属性中设置。对象颜色和大小也可以通过将大小和/或颜色视觉变量添加到使用此符号层的任何 Renderer 来进行数据驱动。

ObjectSymbol3DLayers 必须添加到 PointSymbol3DPolygonSymbol3D 符号的 symbolLayers 属性。多个符号图层可用于单个符号。下图描绘了一个点 FeatureLayer,其特征用包含基于圆柱的 ObjectSymbol3DLayer 的 PointSymbol3D 符号化。

symbols-3d-objects

请参阅Symbol3DLayerSymbol3D 以阅读有关 3D 符号、符号层以及它们如何相互关联的更多一般信息。

例子:

// symbol using a cylinder as a resource
const symbol = {
  type: "point-3d",  // autocasts as new PointSymbol3D()
  symbolLayers: [{
    type: "object",  // autocasts as new ObjectSymbol3DLayer()
    width: 5,  // diameter of the object from east to west in meters
    height: 20,  // height of the object in meters
    depth: 15,  // diameter of the object from north to south in meters
    resource: { primitive: "cylinder" },
    material: { color: "red" }
  }]
};
// symbol using a glTF 3D model as a resource
const symbol = {
  type: "point-3d",  // autocasts as new PointSymbol3D()
  symbolLayers: [{
    type: "object",  // autocasts as new ObjectSymbol3DLayer()
    resource: {
      href: "../3d-assets/model.gltf"
    },
    height: 3,
    material: {
      color: "red"
    }
  }
};

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 ObjectSymbol3DLayer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。