Существует ли ограничение на объекты MapPoint GlobeControl?

StackOverflow https://stackoverflow.com/questions/1263116

  •  13-09-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

В итоге мы перешли на решение Silverlight на базе DeepZoom.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top