PDA

Просмотр полной версии : Создание маршрутов на карте


alikjan
01.11.2005, 21:58
У меня задача такая: надо на карте отмечать красными точками остановки данного маршрута.
Маршрут - это просто набор остановок

1. Названия остановок хранятся в массиве OST[]

OST[0] = "Остановка0";
OST[1] = "Остановка1";
OST[2] = "Остановка2";
...
OST[n] = "ОстановкаN";

На карте остановки отмечены в виде мувиков типа ost0, ost1, ost2 ... ostN (у всех _visible=0, т.е. сначала все остановки скрыты)
где "ost2" - имя символа-мувика с остановкой, название которой "Остановка1"

2. Все маршруты хранятся в массиве m1[x][y] (x - маршрут, y - остановки т.е. ссылка на массив OST)

//МАРШРУТ №0
m1[0][0] = 0; // Маршрут №0, остановка "Остановка0"
m1[0][1] = 5; // Маршрут №0, остановка "Остановка5"
m1[0][2] = 6;
m1[0][3] = 3;
m1[0][4] = 2;
m1[0][5] = 8; // Маршрут №0, остановка "Остановка8"
m1[0][6] = 9;

//МАРШРУТ №1
m1[1][0] = 10; // Маршрут №1, остановка "Остановка10"
m1[1][1] = 15; // Маршрут №1, остановка "Остановка15"
m1[1][2] = 6;
m1[1][3] = 23;
m1[1][4] = 2;
m1[1][5] = 7;
m1[1][6] = 9;

3. Как только выбирается маршрут (через комбобокс) необходимо, чтобы на карте стали видны остановки данного маршрута.


// функция, которая вызывается при выборе из комбобокса mycombo

bus = function()
{
trassa = mycombo.getSelectedItem().data; // номер маршрута, например 0
for (var i=0; i<=6; i++)
{
ostname = "ost" + m1[trassa][i]; // создаем имя символа с остановкой
karta.ostname._visible=1;
}
}
она работает неправильно (ничего не происходит)

alikjan
01.11.2005, 22:40
видимо дело в том, что массив m1 не виден внутри функции
но почему?

alikjan
01.11.2005, 23:08
Почему меня игнорируют на данном форуме ???

вообщем я нашел ошибку

если я пишу внутри функции bus:

trace(OST[3]);
то все пишется нормально

а если
trace(m1[0][2]);
то пишется undefined

вопрос: как обратиться к двумерному массиву?

alikjan
01.11.2005, 23:36
Странный язык этот AS

проблема решается если массив забивать так:
m[0] = array("0","1","3");

тогда моя последняя проблема заключается в следующем:

ostname = "ost" + какаято_переменная; // создаем имя символа с остановкой
karta.ostname._visible=1;

мне надо сгенерировать имя символа и обратиться к нему
как это сделать???
ответье мне пожалуйста =)

Ріxеl
02.11.2005, 09:16
karta[ostname]._visible=1;