FGX.Map.TfgCustomMap
Delphi
TfgCustomMap = class (TfgControl)
TComponent -> TfgControl -> TfgCustomMap
Прямые наследники: TfgMap
Содержание
Описание
Контрол отображения нативной карты. Карта позволяет работать с графическими объектами на карте, маркерами, а так же обеспечивает базовые настройки работы с камерой и способов отображения карты.
Для того, чтобы начать использовать камеру на Android, необходимо получить API ключ от Google Maps. Это делается таким же способом, как и для FMX. Инструкция доступна здесь: http://docwiki.embarcadero.com/RADStudio/Rio/en/Configuring_Android_Applications_to_Use_Google_Maps
Google карта требует наличие следующих разрешений, которые нужно запросить при помощи сервиса TfgPermissionService в рантайме:
- android.permission.ACCESS_COARSE_LOCATION
- android.permission.ACCESS_FINE_LOCATION
Обратите внимание, что работа с маркерами доступна только после полной загрузки карты, а именно в событии OnMapReady или позже.
Конструкторы
constructor
|
Create(AOwner: TComponent)
Описание отсутствует. |
Методы
function
|
IsMapReadyToUse(): Boolean
Готова ли карта к работе. Карта инициализируется асинхронно, поэтому работа с картой доступна только после полной инициализации. Проверить готовность карты к работе можно через этот метод или в событии OnMapReady . |
function
|
AddMarker(const APosition: TfgMapCoordinate; const ATitle: string): TfgMapMarker
Добавляет на карту маркер с заголовком ATitle . Уникальный идентификатор маркера генерируется автоматически. Метод должен вызывать только, когда карта пронициализирована и готова к использованию OnMapReady , IsMapReadyToUse .
|
function
|
AddMarker(const AId: string; const APosition: TfgMapCoordinate; const ATitle: string): TfgMapMarker
Добавляет на карту маркер с заголовком ATitle и уникальным идентификатором AId . Если на карте уже есть маркер с таким же идентификатором, то бросит исключение EfgMapError . Метод должен вызывать только, когда карта пронициализирована и готова к использованию OnMapReady , IsMapReadyToUse AId может использоваться для дальнейшего удаления маркера про уникальному идентификатору. Карта является владельцем всех экземпляров маркеров. Поэтому маркеры удаляются автоматически картой. |
function
|
FindMarkerById(const AId: string; var AMarker: TfgMapMarker): Boolean
Ищет маркер на карте по указанному идентификатору AId и если он найден, то возвращает его в AMarker . |
procedure
|
RemoveMarker(const AMarker: TfgMapMarker)
Удаляет маркер с карты. |
procedure
|
RemoveMarker(const AId: string)
Удаляет маркер с карты по его идентификатору TfgMapMarker.Id . |
procedure
|
ClearMarkersInCategory(const ACategory: string)
Удаляет все маркеры в указанной категории ACategory . Название категории регистрозависимое.
|
procedure
|
ClearMarkers()
Удаляет все маркеры с карты и уничтожает все экземпляры маркеров. |
Свойства
property
|
CameraTarget: TfgMapCoordinate
Географические координаты относительно которой размещается камера. |
property
|
CameraZoom: Single
Зум камеры [1..20]:
|
property
|
CameraTilt: Single
Наклон камеры относительно перпендикуляра опущеного на землю и направления обзора с камеры в точку Location . |
property
|
CameraBearing: Single
Пеленг камеры в градусах по часовой стрелке относительно Севера. |
property
|
MapType: TfgMapType
Тип карты. |
property
|
GoogleMapStyle: TfgGoogleMapStyleOptions
Настройки стиля Google карты. Актуально только для Андроид платформы.
|
События
event
|
OnCameraChanging: TNotifyEvent
Срабатывает в процессе изменения параметров камеры. |
event
|
OnMapReady: TNotifyEvent
Вызывается, когда карта проинициализирована и готова к использованию. Именно в этот момент можно работать с объектами на карте. |
event
|
OnTapMarker: TfgOnMapMarkerTap
Вызывается, когда пользователь нажимает на маркер. |
Константы
const
|
DefaultMapType: TfgMapType
Описание отсутствует. |