компонент: Карта

Назначение

Компонент позволяет разместить на форме интерактивную географическую карту Google Maps, с возможностью нанесения маркеров. Вы можете нанести на карту один или несколько маркеров, затем сохранить их местоположение в базу данных. Данный компонент присваивается к двум полям базы данных через свойства TableName, FieldLatitude и FieldLongitude. Используемые поля БД должны иметь тип "ВЕЩЕСТВ. ЧИСЛО". Нанесение маркера на карту выполняется через контекстное меню компонента (правый клик мыши).


Свойства

TableName   Определяет, к какой таблице базы данных принадлежит данный компонент
FieldLatitude   Определяет, к какому полю таблицы базы данных принадлежит географическая широта (Latitude) размещенного на карте маркера.
FieldLongitude   Определяет, к какому полю таблицы базы данных принадлежит географическая долгота (Longitude) размещенного на карте маркера.
Name   Уникальное имя компонента на форме
Left   X координата компонента на форме
Top   Y координата компонента на форме
Width   Ширина компонента
Height   Высота компонента
TabOrder   Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop   Определяет, будет ли компонент участвовать в получении фокуса, при нажатии на Tab
Visible   Определяет, будет ли компонент виден на форме
Anchors   Настраивает поведение компонента при изменении размеров окна


Дополнительные свойства (Additional)

APIKey   Необязательный параметр. Подробней.
Constraints   При разработке интерфейса позволяет задать максимальные и минимальные размеры компонента
Enabled   Управляет доступностью компонента для пользователя
DefaultLatitude   Устанавливает первоначальную позицию карты по широте
DefaultLongtitude   Устанавливает первоначальную позицию карты по долготе
DefautlToCurrentLocation   Позволяет автоматически определить местоположение пользователя и устанавливать ее в качестве первоначальной позиции. (свойства DefaultLatitude и DefaultLongtitude будут проигнорированы)
DisableDoubleClickZoom   Позволяет заблокировать возможность приближения карты при двойном клике мыши
DisablePOI   Определяет, будут ли показаны на карте отметки с достопримечательностями или другими объектами
Draggable   Определяет, будет ли возможность перемещать карту
EnableKeyboard   Определяет, будет ли возможно управлять картой с помощью клавиатуры
Language   Позволяет выбрать язык интерфейса на карте
MapType   Позволяет выбрать тип карты (дорожная, спутниковая, гибридная, топографическая)
ScrollWhell   Определяет, будет ли возможность управлять масштабом карты с помощью колесика мыши
ShowBicycling   Позволяет показать на карте велосипедные маршруты (если информация присутствует для выбранной местности)
ShowTraffic   Позволяет показать на карте информацию о загруженности автомобильных дорог (доступно не для всех городов)
ZoomMap   Определяет первоначальный масштаб карты (значения 1-21)


Подробней о нанесении маркеров на карту

Подобно другим компонентам, карта может содержать в себе информацию, которую можно сохранить в базу данных. Такой информацией является расположенные на ней маркеры. Таким образом, вы можете сохранить в базу данных географические координаты необходимого вам объекта, который будет отмечен на карте в виде маркера.

Чтобы сохранить местоположение маркера на карте, необходимо использовать одновременно два поля в базе данных. Что совершено естественно, т.к. географические координаты состоят из двух частей, это Широта (Latitude) и Долгота (Longitude).

Таким образом, чтобы иметь возможность наносить маркер на карту и сохранять его местоположение в базу данных, в таблице БД вам необходимо создать два поля с типом "ВЕЩЕСТВ. ЧИСЛО". Почему именно вещественное число? Координаты представлены в виде градусов, пример: 55,755831°, 37,617673°, что соответствует этому типу данных.

Вы можете нанести на карту как один маркер, так и несколько. Подробней об этом можете прочитать далее.



Нанесение на карту одного маркера

В данном случае использование компонента ничем не отличается от других. Просто укажите какой таблице БД и каким полям БД принадлежит данная карта используя свойства компонента TableName, FieldLatitude и FieldLongitude. Затем в настройках кнопки "Сохранить запись" добавьте данный компонент в список.



Нанесение на карту нескольких маркеров

Чтобы иметь возможность нанести несколько маркеров на карту и сохранить их местоположение, вам необходимо создать отдельную таблицу БД, где будут хранится записи о данных маркерах. Т.е. данные маркеры будут дочерними записями и в данной таблице у вас должен быть создан внешний ключ на родительскую таблицу.

Нанесение на карту нескольких маркеров можно сравнить с использованием компонента "Таблица" для работы с дочерними записями, т.е. в нашем случае маркеры и будут являться дочерними записями.

Пример структуры базы данных, когда компания может иметь несколько офисов и их необходимо отметить на карте.