1

我正在尝试制作一个使用 MapPoint 3d 渲染引擎的控件。该控件获取一个 GlobeControl(通过 GlobeControl 构造函数),然后呈现一个 3D 地图。问题是,如果我稍后尝试获取另一个 GlobeControl,新建的 GlobeControl 的 globeControl.Host 对象几乎所有成员都为空,包括 RenderEngine。

这使得在我们希望在我们的表面上拥有多个地图的场景中使用它是有问题的。

我想到的一种解决方法是预先构建一大堆 GlobeControls(在我渲染任何东西之前),然后将其视为 GlobeControl 池,尽管我真的不知道我是否只是在问问题(例如,如果 MapPoint 每个进程只支持一个 GlobeControl 或其他东西)。

非常感谢任何帮助或见解。如果您需要更多说明,请告诉我。

4

1 回答 1

0

我确实找到了一个令我满意的答案。我还在 CodePlex 上发布了一个类似的问题,回复如下:

“由于 Virtual Earth 3D 本身的技术限制,每个进程只能初始化一个 3D 引擎实例。VE3D 内部使用了单例变量,因此无法拥有多个变量。”

http://bingmapswpf.codeplex.com/Thread/View.aspx?ThreadId=65223&ANCHOR

我们最终转向了基于 DeepZoom 的 Silverlight 解决方案。

于 2010-03-10T14:29:29.277 回答