LineOfSightAnalysis 可计算从单个观察者位置到一组目标的视线。结果在 3D SceneView 中进行可视化。
要显示两点之间的视线,请创建 LineOfSightAnalysis 的新实例,将其添加到 SceneView.analyses 并设置 observer 和 targets 属性。
使用 LineOfSightAnalysisView3D 检索分析结果。
// create lineofsight analysis
const lineOfSightAnalysis = new LineOfSightAnalysis({
observer: new LineOfSightAnalysisObserver({ position: somePoint),
targets:[
new LineOfSightAnalysisTarget({position: someOtherPoint})
]
});
// add to scene view
view.analyses.add(lineOfSightAnalysis);
// wait for the view to load before checking the result
await reactiveUtils.whenOnce(() => !view.updating);
// retrieve measured results from analysis view
const analysisView = await view.whenAnalysisView(lineOfSightAnalysis);
const results = analysisView.results;
使用 LineOfSight 微件以添加交互性并允许用户更改分析的几何形状。
如果观察者位置或目标位置具有 z-值,则将其视为绝对值,否则这些点将与地面对齐。
已知限制
此分析仅在 3D SceneView 中受支持。
构造函数
属性概述
可以设置、检索或侦听任何属性。请参阅使用属性主题。
名称 | 类型 | 描述 | 类 |
---|---|---|---|
String | 类的名称。 更多详情 | Accessor | |
LineOfSightAnalysisObserver | 观察者位置。 更多详情 | LineOfSightAnalysis | |
Collection<LineOfSightAnalysisTarget> | 目标位置。 更多详情 | LineOfSightAnalysis |
属性详细信息
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
observer LineOfSightAnalysisObserverautocast
-
观察者位置。这是执行视线分析的点。
-
目标位置。观察者要查看的点列表。
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | Accessor | ||
this | 创建此对象的深度克隆。 更多详情 | LineOfSightAnalysis | |
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
移除对象拥有的句柄组。 更多详情 | Accessor |
方法详细说明
-
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 } ); // Handle gets removed when the object is destroyed. this.addHandles(handle);
参数handleOrHandles WatchHandle|WatchHandle[]对象销毁后,标记为要移除的句柄。
groupKey *optional标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
clone(){this}
-
创建此对象的深度克隆。任何通过引用存储值的属性都将被分配克隆实例上引用值的副本。
返回类型 描述 this 调用此方法的类实例的深度克隆。
-
起始版本: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"); }
-
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");