Map
Назначение
Компонент позволяет разместить на форме интерактивную географическую карту Google Maps, с возможностью нанесения маркеров. Вы можете нанести на карту один или несколько маркеров, затем сохранить их местоположение в базу данных. Данный компонент присваивается к двум полям базы данных через свойства TableName, FieldLatitude и FieldLongitude. Используемые поля БД должны иметь тип "ВЕЩЕСТВ. ЧИСЛО".
Нанесение маркера на карту выполняется через контекстное меню компонента (правый клик мыши) либо используя форму, на которой можно разместить компоненты, чтобы присвоить дополнительные данные для маркера (свойство FormMarker).
Свойства компонента
Свойство |
Описание |
TableName |
Определяет, к какой таблице базы данных принадлежит данный компонент |
FieldLatitude |
Определяет, к какому полю таблицы базы данных принадлежит географическая широта (Latitude) размещенного на карте маркера |
FieldLongitude |
Определяет, к какому полю таблицы базы данных принадлежит географическая долгота (Longitude) размещенного на карте маркера |
Name |
Уникальное имя компонента на форме |
Left |
X координата компонента на форме |
Top |
Y координата компонента на форме |
Width |
Ширина компонента |
Height |
Высота компонента |
TabOrder |
Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на форме, при нажатии клавиши Tab |
TabStop |
Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме |
Visible |
Определяет видимость компонента |
Anchors |
Задает поведение компонента при изменении размеров формы. Подробней. |
Дополнительные свойства (Additional, редко используемые)
Свойство |
Описание |
APIKey |
Для полноценного использования компонента, необходимо получить API ключ от сервиса Google |
Constraints |
Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors. |
Enabled |
Определяет доступность компонента для пользователя |
DefaultLatitude |
Устанавливает первоначальную позицию карты по широте |
DefaultLongitude |
Устанавливает первоначальную позицию карты по долготе |
DefaultToCurrentLocation |
Позволяет автоматически определить местоположение пользователя и устанавливать ее в качестве первоначальной позиции |
DisableDoubleClickZoom |
Позволяет заблокировать возможность приближения карты при двойном клике мыши |
DisableMenu |
Позволяет заблокировать контекстное меню |
DisablePOI |
Определяет, будут ли показаны на карте отметки с достопримечательностями и другими объектами |
Draggable |
Определяет, будет ли возможность перемещать карту |
EnableKeyboard |
Определяет, будет ли возможно управлять картой с помощью клавиатуры |
FormMarker |
Позволяет выбрать форму при создании/редактирования маркера, т.о. вы можете указать дополнительные сведения для маркера |
Language |
Позволяет выбрать язык интерфейса на карте |
MapType |
Позволяет выбрать тип карты (дорожная, спутниковая, гибридная, топографическая) |
MarkerIcon |
Позволяет указать графический файл, который будет использоваться в качестве маркеров. Подробней. |
MarkersDraggable |
Позволяет разрешить перемещать мышкой маркеры на карте |
MarkerInfoHTML |
Всплывающая подсказка, которая будет показана при клике по маркеру. Поддерживается HTML и вставка данных. Подробней. |
ScrollWheel |
Определяет, будет ли возможность управлять масштабом карты с помощью колесика мыши |
ShowBicycling |
Позволяет показать на карте велосипедные маршруты (если информация присутствует для выбранной местности) |
ShowTraffic |
Позволяет показать на карте информацию о загруженности автомобильных дорог (доступно не для всех городов) |
ZoomMap |
Определяет первоначальный масштаб карты (значения 1-21) |
Подробней о нанесении маркеров на карту
Подобно другим компонентам, карта может содержать в себе информацию, которую можно сохранить в базу данных. Такой информацией является расположенные на ней маркеры. Таким образом, вы можете сохранить в базу данных географические координаты необходимого вам объекта, который будет отмечен на карте в виде маркера.
Чтобы сохранить местоположение маркера на карте, необходимо использовать одновременно два поля в базе данных. Что совершено естественно, т.к. географические координаты состоят из двух частей, это Широта (Latitude) и Долгота (Longitude).
Таким образом, чтобы иметь возможность наносить маркер на карту и сохранять его местоположение в базу данных, в таблице БД вам необходимо создать два поля с типом "ВЕЩЕСТВ. ЧИСЛО". Почему именно вещественное число? Координаты представлены в виде градусов, пример: 55,755831°, 37,617673°, что соответствует этому типу данных.
Вы можете нанести на карту как один маркер, так и несколько. Подробней об этом можете прочитать далее.
Нанесение на карту одного маркера
В данном случае использование компонента ничем не отличается от других. Просто укажите какой таблице БД и каким полям БД принадлежит данная карта используя свойства компонента TableName, FieldLatitude и FieldLongitude. Затем в настройках кнопки "Сохранить запись" добавьте данный компонент в список.
Нанесение на карту нескольких маркеров
Чтобы иметь возможность нанести несколько маркеров на карту и сохранить их местоположение, вам необходимо создать отдельную таблицу БД, где будут хранится записи о данных маркерах. Т.е. данные маркеры будут дочерними записями и в данной таблице у вас должен быть создан внешний ключ на родительскую таблицу.
Нанесение на карту нескольких маркеров можно сравнить с использованием компонента "Таблица" для работы с дочерними записями, т.е. в нашем случае маркеры и будут являться дочерними записями.
Пример структуры базы данных, когда компания может иметь несколько офисов и их необходимо отметить на карте.