Я читаю набор координат широты и долготы, которые определяют область многоугольника. Они привязаны к идентификатору области, и я извлекаю их из базы данных SQL. Так, например, идентификатор области 153 может иметь 20 координат, а идентификатор области 77 может иметь 11 координат. Я хочу сохранить их в двумерном массиве, индексированном по идентификатору области, где каждая пара координат объединяется в один объект 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 как двумерную электронную таблицу, как, например, добавить значения в 'row' 77, то есть polyArray [77]?
Если я запускаю приведенный выше код, я получаю ошибку времени выполнения # 1010 «Термин не определен и не имеет свойств»
Вторая часть вопроса - как извлечь одну «строку» в качестве нового массива?
Используя приведенный выше пример для вызова функции drawPolygon, могу ли я сделать это?
var polyArraySlice:Array = polyArray[77].slice();
drawPolygon(color, polyArraySlice );