2009-06-02 18 views
0

Objectif: autoriser l'utilisateur à activer et désactiver différentes couches de données; et pour extraire dynamiquement les données pour l'étendue actuelle à partir d'une base de données sur un événement de déplacement de carte.Virtual Earth VEShapeLayer ne restituera pas

Cela fonctionne très bien si vous codez dur votre VEShapeLayers comme fait here.

Ma liste de calques provient d'une base de données, j'ai tout fonctionnant comme je le souhaite, sauf que lorsque j'ajoute des formes à mon VEShapeLayer, aucune n'est rendue sur ma carte. Appel VEShapeLayer.GetShapeCount() retourne le nombre prévu ... de sorte que la couche a les données ..

Voici les bits importants du code:

var assets = []; 
if (WebServiceResult.length > 0) { 
    for (var i = 0; i < WebServiceResult.length; i++) { 
     var ix = FindLayerIndex(WebServiceResult[0].AssetMapLayer); 
     var velatlong = new VELatLong(); 
     velatlong.Latitude = WebServiceResult[i].Latitude; 
     velatlong.Longitude = WebServiceResult[i].Longitude; 
     newShape = new VEShape(VEShapeType.Pushpin, velatlong); 
     assets.push(newShape); 
    } 
    // ix is defined above and is vaild and correct 
    map.GetShapeLayerByIndex(ix).AddShape(assets); 
} 
// a call here to map.GetShapeLayerByIndex(ix).GetShapeCount()  
// returns the expected number of shapes 

Répondre

0

je me sens stupide; Je n'avais pas ajouté la feuille de style à l'en-tête de ma page et mon icône personnalisée affichait un rendu transparent en raison de l'absence de la feuille de style.