2009-08-11 5 views
1

MapPoint 3D 렌더링 엔진을 사용하는 컨트롤을 만들려고합니다. 컨트롤은 GlobeControl 생성자를 통해 GlobeControl을 가져온 다음 3D지도를 렌더링합니다. 문제는 다른 GlobeControl을 나중에 얻으려고하면 새로 생성 된 GlobeControl의 globeControl.Host 객체가 RenderEngine을 포함하여 거의 모든 멤버가 null 인 것입니다.MapPoint GlobeControl 개체에 대한 제한이 있습니까?

이렇게하면 표면에 여러 개의지도가있는 시나리오에서 사용하는 것이 문제가됩니다.

내가 궁금해 한 한 가지 해결 방법은 내가 무엇을 렌더링하기 전에 모든 GlobeControls 묶음을 구성한 다음 GlobeControl 풀로 처리하는 것입니다.하지만 실제로 문제를 묻는 것인지 모르겠지만 (예를 들어, MapPoint가 프로세스 당 하나의 GlobeControl 만 지원하는 경우).

도움이나 의견을 보내 주시면 대단히 감사하겠습니다. 더 많은 설명이 필요하면 알려주십시오.

+0

MapPoint (데스크톱 또는 더 이상 사용되지 않는 MapPoint 웹 서비스)가 아니라 Bing Maps 3D 컨트롤 (이전에 가상 어스 3D 컨트롤이라고 함)이 포함되어 있으므로 MapPoint 태그를 제거했습니다. – winwaed

답변

0

나는 저를 만족시키는 답을 찾았습니다. 또한 다음과 같은 답을 가지고 CodePlex에 비슷한 질문을 올렸습니다.

"Virtual Earth 3D의 기술적 한계로 인해 3D 엔진의 인스턴스 하나만 프로세스마다 초기화 할 수 있습니다 .VE3D가 내부적으로 사용하는 싱글 톤 변수가 있습니다. 둘 이상을 가질 방법이 없습니다. "

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

우리는 DeepZoom 기반의 실버 라이트 솔루션으로 이동 끝났다.

관련 문제