我正在从事一个UWP项目,在该项目中,我在倾斜的bingmaps映射上渲染3D内容。
我正在使用DirectX在地图顶部的单独(部分透明)控件中渲染我的3D内容。因此,它不是在MapControl或其他任何东西的内部或任何东西的一部分中渲染的,它是完全分开的。
我制作了将GEO/GPS坐标传输到DirectX中使用的3D坐标系的方法,然后在DirectX中使摄像头与地图的相机匹配。
但问题是,我从MapControl取回的相机数据似乎并不总是正确,或者至少不是最新的。
我使用以下属性:mapcontrol.actualCamera.location.position,mapcontrol.center.location.position.position和mapcontrol.actualcamera.fieldofview.
这些可能不是获得实际相机数据的最佳方法吗?如果是这样,我应该使用哪些?
当前未定义相机对象以允许您完全复制所用的完整投影矩阵,因此我认为您无法渲染完全匹配的3D内容。航空和道路模式使用不同的投影(Mercator Plane vs. Globe),您无法从中心位置属性中重建相机,而无需知道地图投影和地形表面值。