2009-08-11 9 views
1

MapPoint 3Dレンダリングエンジンを使用するコントロールを作成しようとしています。コントロールは(GlobeControlコンストラクタを介して)GlobeControlを取得し、3Dマップをレンダリングします。問題は、別のGlobeControlを後で取得しようとすると、新しく構築されたGlobeControlのglobeControl.Hostオブジェクトに、RenderEngineを含むほとんどすべてのメンバがnullになってしまうことです。MapPoint GlobeControlオブジェクトには制限がありますか?

これは、私たちのサーフェス上に複数のマップを配置したいというシナリオでは、これを使用することが問題になります。

私が考えた解決策の1つは、何かをレンダリングする前にGlobeControlsの束全体を構築してから、それをGlobeControlプールとして扱うことですが、問題を尋ねているのかどうかは分かりません(たとえば、MapPointがプロセスごとに1つのGlobeControlしかサポートしていない場合など)。

助力や洞察力があれば幸いです。より明確にする必要がある場合はお知らせください。

+0

MapPointタグは削除されました。これはMapPoint(デスクトップまたは廃止予定のMapPoint Webサービス)ではなく、Bing Mapsの3Dコントロール(以前はバーチャルアース3Dコントロールと呼ばれていました。 – winwaed

答えて

0

私は私を満足させる答えを見つけました。

"Virtual Earth 3Dの技術的な限界のため、3Dエンジンのインスタンスはプロセスごとに1つしか初期化できません。VE3Dが内部的に使用するシングルトン変数があります。複数の方法を持つ方法はありません」

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

我々はDeepZoomベースのSilverlightのソリューションに移行することになりました。

関連する問題