Question

Je suis en train de faire un contrôle qui utilise le moteur de rendu 3D MapPoint. Le contrôle obtient un GlobeControl (via le constructeur GlobeControl) et rend ensuite une carte 3D. Le problème est que si j'essaie d'obtenir un autre GlobeControl plus tard l'objet globeControl.Host du nouveau construit GlobeControl a presque tous ses membres étant nuls, y compris le RenderEngine.

Cela rend problématique de l'utiliser dans un scénario où nous voulons avoir plusieurs cartes sur notre surface.

Une solution que j'ai pensé est de construire un tas de GlobeControls avance (avant quoi que ce soit rendu) puis le traiter comme une piscine GlobeControl, bien que je ne sais pas vraiment si je ne fais que poser des problèmes vers le bas la route (par exemple, si MapPoint ne supporte qu'un seul GlobeControl par processus ou quelque chose).

Toute aide ou InSight est grandement appréciée. S'il vous plaît laissez-moi savoir si vous avez besoin plus de précisions.

Était-ce utile?

La solution

J'ai trouvé une réponse qui me satisfait. J'ai également signalé une question similaire sur CodePlex avec la réponse suivante:

« En raison de limitations techniques dans Virtual Earth 3D lui-même, une seule instance du moteur 3D peuvent être initialisés par processus. Il existe des variables singleton qui VE3D utilise en interne donc il n'y a pas moyen d'avoir plus d'un. »

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

Nous avons fini par passer à une solution Silverlight base DeepZoom.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top