目标:允许用户打开和关闭不同的数据层;并在地图移动事件中从数据库动态提取当前范围的数据。
如果您将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
答案 0 :(得分:0)