Domanda

Sto cercando di fare un controllo che fa uso del motore di rendering 3d MapPoint. Il controllo ottiene un GlobeControl (tramite il costruttore GlobeControl) e quindi rende una mappa 3D. Il problema è che se si tenta di ottenere un altro GlobeControl successivamente l'oggetto globeControl.Host della GlobeControl nuova costruzione ha quasi tutti i suoi componenti essere nullo, compreso il RenderEngine.

In questo modo è problematico utilizzare questo in uno scenario in cui vogliamo avere più mappe sulla nostra superficie.

Una soluzione che ho pensato è quello di costruire un intero gruppo di GlobeControls iniziali (prima rendo nulla) e poi trattarlo come una piscina GlobeControl, anche se non so se sto solo chiedendo problemi lungo la strada (per esempio, se MapPoint supporta una sola GlobeControl per processo o qualcosa del genere).

Qualsiasi aiuto o intuizione è molto apprezzato. Per favore fatemi sapere se avete bisogno di maggiori chiarimenti.

È stato utile?

Soluzione

Ho trovato una risposta che mi ha soddisfatto. Ho anche inviato una domanda simile su CodePlex con la seguente risposta:

"A causa di limitazioni tecniche in Virtual Earth 3D stesso, una sola istanza del motore 3D possono essere inizializzati per processo. Ci sono variabili singleton che VE3D usa internamente in modo non c'è modo di avere più di uno".

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

Abbiamo finito per trasferirsi in una soluzione Silverlight DeepZoom-based.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top