Назначение


Компонент позволяет разместить на форме интерактивную географическую карту 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)

 Markers

 TMarkers

 Свойство для работы с маркерами на карте. Подробней.

 Markers[i]

 TMarker

 Свойство для доступа к существующим маркерам на карте. Подробней.

 MapOptions

 TMapOptions

 Настройка компонента. Подробней.

 Polylines

 TPolylines

 Свойство для работы с полилиниями на карте. Подробней.

 Polylines[i]

 TPolylineItem

 Свойство для доступа к существующим полилиниям на карте. Подробней.

 Polygons

 TPolygons

 Свойство для работы с полигонами на карте. Подробней.

 Polygons[i]

 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)

 Срабатывает при ошибках в работе компонента.