Я читаю набор широт & Координаты долготы, которые определяют область полигона. Они привязаны к идентификатору области, и я извлекаю их из базы данных SQL. Так, например, Area ID 153 может иметь 20 координат, а ID области 77 может иметь 11 координат. Я хочу сохранить их в двухмерном массиве, индексированном идентификатором области, и где каждая координатная пара объединяется в один объект Google LatLng. В дальнейшем я хочу получить только одну строку, то есть набор координат для одной области, и отправить их функции, которая принимает массив координат и рисует многоугольник на карте. Вот что у меня есть:ActionScript: Как нажимать на многомерные массивы и позже извлекать только одну строку.
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));
}
Так вот, где первая проблема возникает. Я не знаю, как добавить переменное количество новых элементов в 2-мерный массив в известный индекс. i.e рассматривая polyArray как двухмерную таблицу, как я, например, добавляю значения в 'row' 77, то есть polyArray [77]? Если я запускаю приведенный выше код, я получаю ошибку времени выполнения # 1010 'Термин не определен и не имеет свойств'
Вторая часть вопроса - как вы извлекаете одну строку в качестве нового массива? Используя приведенный выше пример для вызова функции drawPolygon, могу ли я сделать это?
var polyArraySlice:Array = polyArray[77].slice();
drawPolygon(color, polyArraySlice);
у вас есть дополнительный} в конец вашего кода. – Ponkadoodle
Да, неправильно прочитайте private var как объявление функции. я подберу его. – Herms