0

目标:允许用户打开和关闭不同层的数据;并在地图移动事件中从数据库中动态提取当前范围的数据。

如果您按照此处完成的方式对 VEShapeLayers 进行硬编码,这将非常有效。

我的图层列表来自数据库,我的一切都按照我想要的方式工作,除了当我将形状添加到我的 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 
4

1 回答 1

0

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

于 2009-06-03T16:09:27.210 回答