![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2008
Сообщений: 4
|
Привет...Кто знает решение - помогите пожалуйста...Есть xml с названиями магазинов определенного города...У магазинов есть координаты(X и Y)...нужно узнать магазины с одинаковыми координатами(и X и Y) и занести их в соответствующие массивым для последующего отображения...Пример xml:
<map> <settings> <map_name link="lugansk">Луганск</map_name> </settings> <selected link="23"/> <locations> <location name="Фокстрот" shop_id="41" link="fokstrot" x="80" y="50" radius="2" icons="btech" fill_color="0x00000" fill_alpha="100" line_color="0xfffffff" line_alpha="100" line_width="1"/> <location name="Комфи" shop_id="45" link="comfy" x="100" y="-20" radius="1" icons="elfoto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/> <location name="СРТ" shop_id="46" link="srt" x="450" y="25" radius="1" icons="сomp" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/> <location name="Артцентр" shop_id="12" link="artcentr" x="-120" y="-80" radius="1" icons="office" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/> <location name="Евразия" shop_id="11" link="evrasia" x="48" y="-150" radius="1" icons="auto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/> <location name='ТЦ "Мир"' shop_id="11" link="mir" x="48" y="-150" radius="1" icons="sport" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/> </locations> </map> |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Ну и заноси атрибуты каждого блакнота в массив затем сравнение делай и все...
|
|
|||||
|
Регистрация: Jul 2008
Сообщений: 4
|
Цитата:
хотелось бы увидеть рабочий код ... |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Тогда иди в раздел вакансии.
Общая схема береш свой XML. Считываеш каждую строку location в XML это называется node, береш атрибуты node. Это уже готовый обьект со всеми его параметрами attributes. Ззаносиш их куда хочеш(обьекты) можеш в массив можеш еше куда небудь... И делаеш сравнеие координат. Ну или же как то еше в таком же духе... |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 4
|
Цитата:
![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
var xml:XML = new XML ('<map><settings><map_name link="lugansk">Луганск</map_name></settings><selected link="23"/><locations><location name="Фокстрот" shop_id="41" link="fokstrot" x="80" y="50" radius="2" icons="btech" fill_color="0x00000" fill_alpha="100" line_color="0xfffffff" line_alpha="100" line_width="1"/><location name="Комфи" shop_id="45" link="comfy" x="100" y="-20" radius="1" icons="elfoto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="СРТ" shop_id="46" link="srt" x="450" y="25" radius="1" icons="сomp" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="Артцентр" shop_id="12" link="artcentr" x="-120" y="-80" radius="1" icons="office" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="Евразия" shop_id="11" link="evrasia" x="48" y="-150" radius="1" icons="auto" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/><location name="ТЦ Мир" shop_id="11" link="mir" x="48" y="-150" radius="1" icons="sport" fill_color="0x00000" fill_alpha="100" line_color="0x00000" line_alpha="100" line_width="1"/></locations></map>');
var arrayShop:Array = new Array ();
function findShop (node:XMLNode) {
var array:Array = new Array ();
var arrayCoor:Array = new Array ();
var arrayOut:Array = new Array ();
var len:Number = node.childNodes.length;
for (var i:Number = 0; i < len; i++) {
var nodeA:XMLNode = node.childNodes[i];
var x:Number = Number (nodeA.attributes.x);
var y:Number = Number (nodeA.attributes.y);
if (!array[x]) {
array[x] = [];
}
if (!array[x][y]) {
array[x][y] = [];
arrayCoor.push ({x:x, y:y});
}
array[x][y].push (i);
}
len = arrayCoor.length;
for (var i:Number = 0; i < len; i++) {
var x:Number = arrayCoor[i].x;
var y:Number = arrayCoor[i].y;
arrayOut.push (array[x][y]);
}
return arrayOut;
}
var arrayNodeOfShop = findShop (xml.firstChild.lastChild);
trace (arrayNodeOfShop.join ("\n"));
|
|
|||||
|
Регистрация: Jul 2008
Сообщений: 4
|
Цитата:
Спасибо огромное...щас буду разбираться... ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|