在MapControl(UWP)3d视图上绘制一个三角形

时间:2019-07-08 07:57:00

标签: c# uwp 3d uwp-maps

我需要在UWP MapControl的Aero3d视图上绘制一个三角形,以向用户提供一些视觉信息,以便查看某些矢量是否穿过山脉或高层建筑,...

我有原点Geopoint,方位角和相对于水平面的高程。从这些数据中,我还可以得到最终的Geopoint,并且我认为三角形的上点为“海拔”。

方位角和高程可以随时更改,因此应根据需要绘制三角形多次。

MapPolygon,MapPolyline等在这种情况下不起作用,因为应该在地图上方和整个地图上绘制线条,并且不要粘在上面。

新的MapControl MapElement(例如MapModel3D和MapElement3D)是静态对象,因此它们无法正常工作。

这是想法:

enter image description here

1 个答案:

答案 0 :(得分:1)

您应该能够使用MapPolyline-如果您指定了高度参考系统并为每个顶点设置了高度值,则它将在3D空间中正确绘制。 MapPolygon将始终绘制到地形。 您还应该能够使用MapElement3D来显示如图所示的填充多边形。只需创建一个在原点/标题处具有简单三角形和位置的模型即可。如果原点或航向改变,则可以快速更新模型。如果仰角发生变化,则需要重新创建模型,但是对于简单的三角形,这应该相当快。我见过一些有人用翅膀拍打并获得2-3FPS动画的鸟类模型的示例,因此尽管它不一定是交互式跟踪的,但它应该是一个相当快的更新。