|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Создание интерактивной Карты
Доброго времени суток.
Заранее прошу, не судите строго. Десять лет занимаюсь базами про графику уже забыл)). Итак, имеется Delphi 7. Написана программа работы с базой данных по жилищному фонду. Заказчик хочет чтобы на экране был реализован не только поиск по адресу, но и по карте. Т. е. необходимо загружать картинку со схематичной картой района на ней должны быть нарисованы дома (полигоны). При наведении на них курсором мыши, они должны как-то меняться (изменять цвет например), а при клике мыши должны выводиться характеристики дома. Очень желательно чтобы карта могла менять размер и прокручиваться. Все это должно быть реализовано бесплатными средствами. Попробывал применить Sweet Driving Engine, но хелпа к нему нет, а разбираться времени нет (( И, собственно говоря, идей нет Не могли бы Вы мне что-нибудь порекомендовать, желательно с небольшим примером. Гугл и яндекс ничего бесплатного не предложили. Заранее благодарен за ответ. |
#2
|
||||
|
||||
Graphics32. Примеров с ним идет куча.
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110 |
#3
|
||||
|
||||
Используешь регионы при рисовании интерактивной карты (создаешь список регионов - дома). При нажатии отслеживаешь координаты (X;Y) мыши, после пробегаешься по списку регионов в поисках совпадений...
Работа пpогpаммиста и шамана имеет очень много общего: оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает. |
#4
|
||||
|
||||
Способ раз (простой):
Каждый дом делаем как TImage с картинкой дома, все события там есть (onMouseMove, onMouseDown, onMouseUp). Способ два (сложнее): На форме через GDI+ (стандартными функциями рисования винды) рисуем дома; сохраняем их координаты в массиве. При движении/клике мыши на форме проходим по массиву координат, для каждой проверяем принадлежность координат мыши дому. Делаем нужные действия. Я бы делал первым способом. Можно без проблем хранить дома разного внешнего вида и просто использовать "заливку" нужным цветом при движении мыши над домом. jmp $ ; Happy End! The Cake Is A Lie. |