Есть ли ограничение на объекты MapPoint GlobeControl? - PullRequest
1 голос
/ 12 августа 2009

Я пытаюсь создать элемент управления, который использует движок рендеринга MapPoint 3D. Элемент управления получает GlobeControl (через конструктор GlobeControl) и затем отображает 3D-карту. Проблема заключается в том, что если я попытаюсь получить еще один GlobeControl позже, то в объекте globeControl.Host вновь созданного GlobeControl почти все его члены будут иметь значение null, включая RenderEngine.

Это затрудняет использование этого в сценарии, когда мы хотим иметь несколько карт на нашей поверхности.

Один из обходных путей, о котором я подумал, - это создать целую кучу GlobeControls заранее (до того, как я что-то сделаю), а затем обработать его как пул GlobeControl, хотя на самом деле я не знаю, спрашиваю ли я просто дорога (например, если MapPoint поддерживает только один GlobeControl на процесс или что-то еще).

Любая помощь или понимание очень ценится. Пожалуйста, дайте мне знать, если вам нужно больше разъяснений.

1 Ответ

0 голосов
/ 10 марта 2010

Я нашел ответ, который удовлетворил меня. Я также разместил аналогичный вопрос на CodePlex со следующим ответом:

"Из-за технических ограничений в самой Virtual Earth 3D, для каждого процесса может быть инициализирован только один экземпляр 3D-движка. Существуют одноэлементные переменные, которые VE3D использует внутри, поэтому не может быть больше одного."

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

В итоге мы перешли к решению Silverlight на основе DeepZoom.

...