Map
Назначение
Компонент позволяет разместить на форме интерактивную географическую карту Google Maps, с возможностью нанесения маркеров. Вы можете нанести на карту один или несколько маркеров, затем сохранить их местоположение в базу данных.
Класс: TdbMap
Свойства компонента
Свойство |
Тип |
Описание |
APIKey |
String |
Позволяет задать API ключ полученный от Google API. Получить данный ключ можно здесь. Необязательно. |
APIChannel |
String |
Позволяет задать идентификатор для использования Google Maps Premium API. Этот параметр будет проигнорирован если задано значение в свойстве APIKey. |
APIClientID |
String |
Позволяет задать идентификатор клиента для использования Google Maps Premium API. Этот параметр будет проигнорирован если задано значение в свойстве APIKey. |
APISignature |
String |
Позволяет задать API подпись для использования Google Maps Premium API. |
APIClientAuthURL |
String |
Позволяет задать URL для использования Google Maps Premium console. Этот параметр будет проигнорирован если задано значение в свойстве APIKey. |
CurrentLocation |
TLocation |
Содержит координаты местоположения пользователя программы. Чтобы данные координаты были доступны, необходимо предварительно вызвать метод GetCurrentLocation. Временно не работает. |
dbTable |
String |
Определяет, к какой таблице базы данных принадлежит данный компонент. |
dbFieldLatitude |
String |
Определяет, в каком поле таблицы базы данных будет сохранено значение широты маркера. |
dbFieldLongitude |
String |
Определяет, в каком поле таблицы базы данных будет сохранено значение долготы маркера. |
DisableMenu |
Boolean |
Позволяет заблокировать контекстное меню карты. |
Elevations |
TElevations |
Содержит результат вызова метода GetElevation и GetElevation2. Позволяет узнать высоту поверхности земли по указанным координатам. Подробней. |
FormMarkerName |
String |
Определяет имя формы, которая будет использоваться при создании/редактировании маркера. |
LastAddedMarker |
TMarker |
Содержит ссылку на последний добавленный маркер с помощью метода TMarkers.Add (Form1.Map1.Markers.Add) |
LastAddedPolyline |
TPolylineItem |
Содержит ссылку на последний добавленный путь с помощью метода TPolylines.Add (Form1.Map1.Polylines.Add) |
LastAddedPolygon |
TPolygonItem |
Содержит ссылку на последний добавленный полигон с помощью метода TPolygons.Add (Form1.Map1.Polygons.Add) |
TMarkers |
Свойство для работы с маркерами на карте. Подробней. |
|
TMarker |
Свойство для доступа к существующим маркерам на карте. Подробней. |
|
TMapOptions |
Настройка компонента. Подробней. |
|
TPolylines |
Свойство для работы с полилиниями на карте. Подробней. |
|
TPolylineItem |
Свойство для доступа к существующим полилиниям на карте. Подробней. |
|
TPolygons |
Свойство для работы с полигонами на карте. Подробней. |
|
TPolygonItem |
Свойство для доступа к существующим полигонам на карте. Подробней. |
|
Enabled |
Boolean |
Определяет доступность компонента для пользователя. |
Name |
String |
Уникальное имя компонента на форме. |
Visible |
Boolean |
Определяет видимость компонента. |
Left |
Integer |
X координата компонента на форме. |
Top |
Integer |
Y координата компонента на форме. |
Width |
Integer |
Ширина компонента. |
Height |
Integer |
Высота компонента. |
Tag |
Integer |
Позволяет присвоить число компоненту для собственных нужд. |
TagString |
String |
Позволяет присвоить строку компоненту для собственных нужд. |
Методы компонента
Метод |
Описание |
function AddGeoImage (FileName: string; Title: string = ''; Width: Integer = -1; Height: Integer = -1; ZoomWidth: Integer = -1; ZoomHeight: Integer = -1): TMarker |
Добавляет изображение на карту, на основе EXIF данных данного изображения. |
function AddMapKMLLayer (Url: string; ZoomToBounds: Boolean): Boolean |
Добавляет KML слой на карту. |
function ClearPolygons: Boolean |
Удаляет все полигоны с карты и очищает коллекцию полигонов в свойстве Polygons. |
function ClearPolylines: Boolean |
Удаляет все полилинии с карты и очищает коллекцию полилиний в свойстве Polylines. |
function CloseMarkerInfoWindowHtml (Id: Integer): Boolean |
Закрывает окно с информацией для указанного маркера. Подробней. |
procedure CloseAllMarkersInfoWindow |
Закрывает окна с информацией для всех маркеров. |
function CreateMapPolygon (Polygon: TMapPolygon): Boolean |
Наносит указанный полигон на карту. |
function CreateMapPolyline (Polyline: TPolyline): Boolean |
Наносит указанную полилинию на карту. |
function DegreesToLonLat (StrLon, StrLat: String; var Lon,Lat: Double): Boolean |
Конвертирует текстовое представление географических координат в широту и долготу. Подробней. |
function DeleteAllMapKMLLayer: Boolean |
Удаляет все KML слои с карты. |
function DeleteMapKMLLayer (Id: Integer): Boolean |
Удаляет указанный KML слой с карты. |
function DeleteMapMarker (Id: Integer): Boolean |
Удаляет указанный маркер с карты. При этом маркер не удаляется из колекции TMarkers |
function DeleteMapPolyline (Id: Integer): Boolean |
Удаляет указанную полилинию с карты. При этом полилиния не удаляется из колекции TPolylines |
function DeleteMapPolygon (Id: Integer): Boolean |
Удаляет указанный полигон с карты. При этом полигон не удаляется из колекции TPolygons |
function Distance (la1, lo1, la2, lo2: Double): Double |
Вычисляет расстояние между двумя координатами. Результат в километрах. |
function Focused: Boolean |
Проверяет, имеет ли компонент фокус ввода. |
function GetCurrentLocation: Boolean |
Помещает координаты текущего местоположения в свойство CurrentLocation. Временно не работает. |
function GetMapBounds: Boolean |
Функция возвращает координаты отображаемой карты. Не работает в текущей версии. |
function GetElevation (Latitude, Longitude: Double): Boolean |
Функция возвращает высоту земной поверхности для указанных координат. Результат работы функции содержится в свойстве Elevations. Необходима активация Maps Elevation API. Подробней. |
function GetElevation2 (Path: TPath; ResultCount: Integer = 2): Boolean |
Функция возвращает высоту земной поверхности для указанного пути. Результат работы функции содержится в свойстве Elevations. Необходима активация Maps Elevation API. Подробней. |
function GetModifiedMapPolyline (Polyline: TPolyline):Boolean |
Функция получает координаты полилинии на карте и обновляет ими значения в Polyline.Path. Как правило используется, когда пользователь модифицирует линии на карте с помощью мышки и результат этих изменений необходимо применить. |
function GetModifiedMapPolygon (Polygon: TMapPolygon):Boolean |
Функция получает координаты полигонов на карте и обновляет ими значения в свойстве Polygon. Как правило используется, когда пользователь модифицирует полигоны на карте с помощью мышки и результат этих изменений необходимо применить. |
function GetPolygonAreaSqMeters (APolygonId: Integer): string |
Возвращает площадь в квадратных метрах для указанного полигона. |
function LoadGeoJSONPolyline (AFilename: string; AColor: TColor = clBlue; Opacity: Integer = 255; AWidth: Integer = 2; Zoom: Boolean = True; HoverColor: TColor = clBlue): string |
Создает на карте полилинии на основе данных из GeoJSON файла. Подробней. |
function LoadGeoJSONPolygon (AFilename: string; BorderColor: TColor = clBlue; Opacity: Integer = 255; BackgroundColor: TColor = clBlue; BackgroundOpacity: Integer = 100; AWidth: Integer = 2; Zoom: Boolean = True; HoverBorderColor: TColor = clBlue; HoverBackgroundColor: TColor = clBlue): string |
Создает на карте полигоны на основе данных из GeoJSON файла. Подробней. |
function LoadGPSRoute (AFilename: string; AColor: TColor = clRed; AWidth: integer = 2; ZoomToRoute: Boolean = False): string |
Загружает GPS путь из GPX файла и наносит его на карту ввиде полилиний. Подробней о GPX файле. |
procedure LoadMarkersFromPoi (PoiFile: string; MarkerColor: TMarkerIconColor = icDefault) |
Загружает координаты из POI файла и отмечает их на карте в виде маркеров. |
function LonLatToXY (Lon, Lat: Double; var X, Y: Integer): Boolean |
Функция конвертирует географические координаты в X и Y координаты на карте в пикселях. |
function MapPanTo (Latitude,Longitude:Double): Boolean |
Перемещает карту к заданным координатам. |
function MapZoomTo (Bounds: TBounds): Boolean |
Функция показывает участок карты, указанный в параметре Bounds. Подробней. |
function MapPanBy (X,Y: Integer): Boolean |
Перемещает карту на заданное количество пикселей по горизонтали и вертикали. |
function OpenMarkerInfoWindowHtml (Id: Integer; HtmlText:String): Boolean |
Позволяет показать на карте надпись для указанного маркера. Поддерживается HTML форматирование текста. Подробней. |
procedure SaveMarkersToPoi (PoiFile: string) |
Сохраняет маркеры на карте в POI файл. |
function ScreenShot (ImgType: TImgType): TGraphic |
Позволяет получить снимок карты. Подробней. |
procedure SetFocus |
Устанавливает фокус ввода для компонента. |
procedure SwitchToStreetView |
Переключает карту в режим панорамного просмотра улиц. |
procedure SwitchToMap |
Выход из режима панорамного просмотра улиц. |
function UpdateMapMarkers: Boolean |
Обновляет все маркеры на карте. |
function UpdateMapMarker (Marker: TMarker):Boolean |
Обновляет указанный маркер на карте. |
function UpdateMapPolygon (Polygon: TMapPolygon): Boolean |
Обновляет указанный полигон на карте. Необходимо вызвать, например когда вы обновили координаты полилинии с помощью скрипта. |
function UpdateMapPolyline (Polyline: TPolyline): Boolean |
Обвновляет указанную полилинию на карте. Необходимо вызвать, например когда вы обновили координаты полилинии с помощью скрипта. |
function XYToLonLat (X, Y: integer; var Lon, Lat: double): Boolean |
Конвертирует X Y координаты на карте в географические координаты. Результат возвращается в переменные Lon и Lat |
События компонента
Событие |
Описание |
OnMapClick (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer; MouseLeft, MouseRight, MouseMiddle: Boolean) |
Срабатывает при клике по компоненту. |
OnMapDblClick (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) |
Срабатывает при двойном клике по компоненту. |
OnMapMouseEnter (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) |
Срабатывает когда курсор мыши заходит на компонент. |
OnMapMouseExit (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) |
Срабатывает когда курсор мыши выходит за границу компонента. |
OnMapMouseMove (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) |
Срабатывает при перемещении курсора над компонентом. |
OnMapMove (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) |
Срабатывает при перемещении пользователем карты. |
OnMapMoveEnd (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) |
Срабатывает при окончании процесса перемещения карты пользователем. |
OnMapMoveStart (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) |
Срабатывает при начале процесса перемещения карты пользователем. |
OnMapTypeChange (Sender: TObject; NewMapType: TMapType) |
Срабатывает при изменении типа карты. Подробней. |
OnMapZoomChange (Sender: TObject; NewLevel: Integer) |
Срабатывает при изменении масштаба карты. |
OnMarkerClick (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double; MouseLeft, MouseRight, MouseMiddle: Boolean) |
Срабатывает при клике по маркеру. |
OnMarkerDblClick (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) |
Срабатывает при двойном клике по маркеру. |
OnMarkerDrag (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) |
Срабатывает при перемещении маркера на карте. |
OnMarkerDragEnd (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) |
Срабатывает при окончании перемещения маркера на карте. |
OnMarkerDragStart (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) |
Срабатывает в начале перемещения маркера на карте. |
OnMarkerInfoWindowCloseClick (Sender: TObject; IdMarker: Integer) |
Срабатывает при закрытии информационной надписи для маркера. |
OnMarkerMouseDown (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) |
Срабатывает при нажатии кнопки мыши по маркеру. |
OnMarkerMouseEnter (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) |
Срабатывает когда курсор мыши заходит на маркер. |
OnMarkerMouseExit (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) |
Срабатывает когда курсор мыши выходит за пределы маркера. |
OnMarkerMouseUp (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) |
Срабатывает при отпускании кнопки мыши по маркеру. |
OnAfterAddMarker (Sender: TObject; IdMarker: Integer) |
Срабатывает после добавления маркера. Событие не сработает, если маркер был добавлен с помощью скрипта. |
OnBeforeDeleteMarker (Sender: TObject; IdMarker: Integer; var Cancel: Boolean) |
Срабатывает перед удалением маркера, с возможностью прервать удаление. Событие не сработает, если маркер удаляют с помощью скрипта. |
OnPolygonClick (Sender: TObject; IdPolygon: Integer; MouseLeft, MouseRight, MouseMiddle: Boolean) |
Срабатывает при клике по полигону. |
OnPolygonDblClick (Sender: TObject; IdPolygon: Integer) |
Срабатывает при двойном клике по полигону. |
OnPolygonMouseDown (Sender: TObject; IdPolygon: Integer) |
Срабатывает при нажатии кнопки мыши по полигону. |
OnPolygonMouseEnter (Sender: TObject; IdPolygon: Integer) |
Срабатывает когда курсор мыши заходит на полигон. |
OnPolygonMouseExit (Sender: TObject; IdPolygon: Integer) |
Срабатывает когда курсор мыши выходит за пределы полигона. |
OnPolygonMouseUp (Sender: TObject; IdPolygon: Integer) |
Срабатывает при отпускании кнопки мыши по полигону. |
OnPolygonChanged (Sender: TObject; IdPolygon: Integer) |
Срабатывает, когда полигон на карте был изменен. |
OnPolylineClick (Sender: TObject; IdPolyline: Integer; MouseLeft, MouseRight, MouseMiddle: Boolean) |
Срабатывает при клике по линии. |
OnPolylineDblClick (Sender: TObject; IdPolyline: Integer) |
Срабатывает при двойном клике по линии. |
OnPolylineMouseDown (Sender: TObject; IdPolyline: Integer) |
Срабатывает при нажатии кнопки мыши по линии. |
OnPolylineMouseEnter (Sender: TObject; IdPolyline: Integer) |
Срабатывает когда курсор мыши заходит на линию. |
OnPolylineMouseExit (Sender: TObject; IdPolyline: Integer) |
Срабатывает когда курсор мыши выходит за пределы линии. |
OnPolylineMouseUp (Sender: TObject; IdPolyline: Integer) |
Срабатывает при отпускании кнопки мыши по линии. |
OnPolylineChanged (Sender: TObject; IdPolyline: Integer) |
Срабатывает, когда линия на карте была изменена. |
OnStreetViewChange (Sender: TObject; Heading, Pitch, Zoom: Integer) |
Срабатывает при изменении позиции в Google Street View. Параметры: Heading - курс, Pitch - наклон, Zoom - масштаб. |
OnStreetViewMove (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) |
Срабатывает при перемещении в Google Street View. |
OnWebGMapsError (Sender: TObject; ErrorType: TErrorType) |
Срабатывает при ошибках в работе компонента. |