我正在阅读一组定义多边形区域的纬度和经度坐标。它们被键入一个区域 ID,我从 SQL 数据库中检索它们。例如,区域 ID 153 可能有 20 个坐标,区域 ID 77 可能有 11 个坐标。我希望将它们保存在由区域 ID 索引的二维数组中,并且每个坐标对都组合成一个 Google LatLng 对象。稍后我希望只检索一行,即一个区域的坐标集,并将它们发送到一个函数,该函数接受坐标数组并在地图上绘制多边形。这是我所拥有的:
private var coordsFromSql:ArrayCollection = new ArrayCollection();
var polyArray:Array = new Array();
for each(var item:COORDINATES in coordsFromSql)
{
// add coordinates to the array for each Area id
polyArray[item.AREA_ID].push( new LatLng(item.LATITUDE, item.LONGITUDE) );
}
所以这是第一个问题出现的地方。我不知道如何将可变数量的新项目添加到二维数组到已知索引中。即考虑像二维电子表格一样的 polyArray 我如何例如将值添加到“行”77 即 polyArray[77] ?如果我运行上面的代码,我会收到运行时错误 #1010 'A term is undefined and has no properties'
问题的第二部分是如何将一个“行”提取为一个新数组?使用上面的例子调用一个drawPolygon函数,我可以这样做吗?
var polyArraySlice:Array = polyArray[77].slice();
drawPolygon(color, polyArraySlice );