Здравствуйте !
> На экран выводится карта города. Из базы данных берутся адреса
> торговых точек и по этим адресам делаются пометки на
> карте. Карта при > этом должна уметь менять масштаб.
> С базой данных как бы все понятно, а вот как выводить точки на карту,
> что бы они попадали на нужные улицы и дома, просто
Это полностью относится к ГИС технологиям.
Так сказать, отдельная область компутерных наук... Так что без
детального проникновения в проблему, имхо, не обойтись.
Если вкратце, то выглядит это примерно так.
Карта представлена в векторном формате. Отдельные объекты
описываются списками вершин и ребер.
Естесственно, при таком раскладе массштабирование/перемещение по карте
будет _очень_ медленным (перебор всех отрезков для отрисовки при
заданном масштабе будет занимать очень большое время).
Поэтому карту бьют на неравномерные прямоугольники (которые можно
представить неким классом). Например, карта состоит из пустыни с парой
городов в ней. Будут большие прямоугольники - части пустыни (однородного
пространства) и прямоугольники - города.
каждый такой прямоугольник бьют еше на части (прямоугольники), и.т.д.
Т.о. образуется иерархия объектов (объекты, представляющие "крупные
куски" хранят указатели на всех своих потомков (детализирующих родителя)).
Фишка в том, что в некоторый момент времени (при некотором масштабе)
для отрисовки карты не надо перебирать все объекты векторной модели.
Достаточно "углубиться" до некоторого уровня по иерархии и отрисовать
только небольшую часть орезков.
Если, конечно, сойдет за идею (идеям этим сто лет уж :).
Ну и книжку по ГИС хорошую надо найти...
--
С уважением, Вахтуров Виктор.
Номер выпуска : 4767
Возраст листа : 663 (дней)
Количество подписчиков : 521
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/402203
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru