代码之家  ›  专栏  ›  技术社区  ›  Nate CSS Guy

虚拟地球VEShapeLayer将不会渲染

  •  0
  • Nate CSS Guy  · 技术社区  · 16 年前

    目标:允许用户打开和关闭不同的数据层;以及从数据库中动态提取当前数据块的数据。

    如果您将VEShapeLayers硬编码为“完成”,这将非常有效 here .

    我的图层列表来自一个数据库,我所有的东西都按照我想要的方式工作,除了当我向我的VEShapeLayer添加形状时,没有一个在我的地图上渲染。调用VEShapeLayer.GetShapeCount()将返回预期的数字。。。因此该层具有数据。。

    以下是代码的重要部分:

    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 
    
    1 回复  |  直到 16 年前
        1
  •  0
  •   Nate CSS Guy    16 年前

    我觉得自己很笨;我没有将样式表添加到页面的标题中,由于样式表不可用,我的自定义图标呈现为透明。