FGX.Map.TfgCustomMap: различия между версиями
Admin (обсуждение | вклад) (summary) |
Admin (обсуждение | вклад) (summary) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 32: | Строка 32: | ||
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ClearObjects()</code> | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ClearObjects()</code> | ||
<p>Очистка всех объектов карты (маркеры, кривые, полигоны).</p> | <p>Очистка всех объектов карты (маркеры, кривые, полигоны).</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">CoordinateToPosition(const ACoordinate: [[TfgMapCoordinate|TfgMapCoordinate]]): [[TPointF]]</code> | ||
+ | |||
+ | <p>Выполняет конвертацию указанных географических координат <i>ACoodrinate</i> в локальные координаты компонента.</p><div class="info">Метод должен вызывать только, когда карта проинициализирована и готова к использованию <i>OnMapReady</i> , <i>IsMapReadyToUse</i> .</div> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">PositionToCoordinate(const APosition: [[TPointF]]): [[TfgMapCoordinate|TfgMapCoordinate]]</code> | ||
+ | |||
+ | <p>Выполняет конвертацию точки <i>APosition</i> в локальной системе координаты компонента в географических координаты.</p><div class="info">Метод должен вызывать только, когда карта проинициализирована и готова к использованию <i>OnMapReady</i> , <i>IsMapReadyToUse</i> .</div> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">MoveCameraToVisibleRegion(const ARegion: [[TfgMapRect|TfgMapRect]]; const APadding: [[Single]])</code> | ||
+ | |||
+ | <p>Задает область видимого на карте региона указанного в географических координатах с указанными отступами в dp.</p><div class="info">Метод должен вызывать только, когда карта проинициализирована и готова к использованию <i>OnMapReady</i> , <i>IsMapReadyToUse</i> .</div> | ||
|} | |} | ||
Строка 49: | Строка 61: | ||
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Circles: [[FGX.Map.TfgMapCircleList|TfgMapCircleList]]</code> | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Circles: [[FGX.Map.TfgMapCircleList|TfgMapCircleList]]</code> | ||
<span style="color:gray">Описание отсутствует.</span> | <span style="color:gray">Описание отсутствует.</span> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>VisibleRegion: [[TfgMapRect|TfgMapRect]]</code> | ||
+ | |||
+ | <p>Координаты видимого на карте региона указанного в географических координатах.</p><div class="info">Метод должен вызывать только, когда карта проинициализирована и готова к использованию <i>OnMapReady</i> , <i>IsMapReadyToUse</i> .</div> | ||
|- | |- | ||
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>CameraTarget: [[TfgMapCoordinate|TfgMapCoordinate]]</code> | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>CameraTarget: [[TfgMapCoordinate|TfgMapCoordinate]]</code> | ||
Строка 71: | Строка 87: | ||
<p>Настройки стиля Google карты.</p><div class="info">Актуально только для Андроид платформы.</div> | <p>Настройки стиля Google карты.</p><div class="info">Актуально только для Андроид платформы.</div> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>StandardLayerKinds: [[FGX.Map.Types.TfgMapStandardLayerKinds|TfgMapStandardLayerKinds]]</code> | ||
+ | <p>Настройки отображения стандартных слоев.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>UserGestureKinds: [[FGX.Map.Types.TfgMapUserGestureKinds|TfgMapUserGestureKinds]]</code> | ||
+ | <p>Какие жесты разрешается совершать пользователю с картой.</p> | ||
|} | |} | ||
Строка 79: | Строка 101: | ||
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnCameraChanging: [[TNotifyEvent]]</code> | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnCameraChanging: [[TNotifyEvent]]</code> | ||
<p>Срабатывает в процессе изменения параметров камеры.</p> | <p>Срабатывает в процессе изменения параметров камеры.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnCameraChanged: [[TNotifyEvent]]</code> | ||
+ | <p>Срабатывает в конце процесса изменения параметров камеры.</p> | ||
|- | |- | ||
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMapReady: [[TNotifyEvent]]</code> | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMapReady: [[TNotifyEvent]]</code> | ||
<p>Вызывается, когда карта проинициализирована и готова к использованию. Именно в этот момент можно работать с объектами на карте.</p> | <p>Вызывается, когда карта проинициализирована и готова к использованию. Именно в этот момент можно работать с объектами на карте.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMarkerTap: [[TfgMapMarkerEvent]]</code> | + | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMarkerTap: [[TfgMapMarkerEvent|TfgMapMarkerEvent]]</code> |
<p>Вызывается, когда пользователь нажимает на маркер.</p> | <p>Вызывается, когда пользователь нажимает на маркер.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMarkerDragStart: [[TfgMapMarkerEvent]]</code> | + | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMarkerDragStart: [[TfgMapMarkerEvent|TfgMapMarkerEvent]]</code> |
<p>Вызывается, когда маркер начинает перетаскиваться.</p> | <p>Вызывается, когда маркер начинает перетаскиваться.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMarkerDrag: [[TfgMapMarkerEvent]]</code> | + | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMarkerDrag: [[TfgMapMarkerEvent|TfgMapMarkerEvent]]</code> |
<p>Вызывается повторно во время перетаскивания маркера.</p> | <p>Вызывается повторно во время перетаскивания маркера.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMarkerDragEnd: [[TfgMapMarkerEvent]]</code> | + | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnMarkerDragEnd: [[TfgMapMarkerEvent|TfgMapMarkerEvent]]</code> |
<p>Вызывается после перетаскивания маркера.</p> | <p>Вызывается после перетаскивания маркера.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnPolygonTap: [[TfgMapPolygonEvent]]</code> | + | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnPolygonTap: [[TfgMapPolygonEvent|TfgMapPolygonEvent]]</code> |
<p>Вызывается, когда пользователь нажимает на полигон.</p> | <p>Вызывается, когда пользователь нажимает на полигон.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnPolylineTap: [[TfgMapPolylineEvent]]</code> | + | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnPolylineTap: [[TfgMapPolylineEvent|TfgMapPolylineEvent]]</code> |
<p>Вызывается, когда пользователь нажимает на кривую.</p> | <p>Вызывается, когда пользователь нажимает на кривую.</p> | ||
|- | |- | ||
− | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnCircleTap: [[TfgMapCircleEvent]]</code> | + | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnCircleTap: [[TfgMapCircleEvent|TfgMapCircleEvent]]</code> |
<p>Вызывается, когда пользователь нажимает на круг.</p> | <p>Вызывается, когда пользователь нажимает на круг.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnInfoWindowTap: [[TfgMapMarkerEvent|TfgMapMarkerEvent]]</code> | ||
+ | <p>Вызывается, когда пользователь нажимает на информационное окно, появляющееся рядом с маркером.</p> | ||
|} | |} | ||
Текущая версия на 17:21, 23 декабря 2022
Delphi
TfgCustomMap = class (TfgControl, IFGXMapObjectFactory)
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 . |
procedure
|
ClearObjects()
Очистка всех объектов карты (маркеры, кривые, полигоны). |
function
|
CoordinateToPosition(const ACoordinate: TfgMapCoordinate): TPointF
Выполняет конвертацию указанных географических координат ACoodrinate в локальные координаты компонента. Метод должен вызывать только, когда карта проинициализирована и готова к использованию OnMapReady , IsMapReadyToUse .
|
function
|
PositionToCoordinate(const APosition: TPointF): TfgMapCoordinate
Выполняет конвертацию точки APosition в локальной системе координаты компонента в географических координаты. Метод должен вызывать только, когда карта проинициализирована и готова к использованию OnMapReady , IsMapReadyToUse .
|
procedure
|
MoveCameraToVisibleRegion(const ARegion: TfgMapRect; const APadding: Single)
Задает область видимого на карте региона указанного в географических координатах с указанными отступами в dp. Метод должен вызывать только, когда карта проинициализирована и готова к использованию OnMapReady , IsMapReadyToUse .
|
Свойства
property
|
Markers: TfgMapMarkerList
Описание отсутствует. |
property
|
Polylines: TfgMapPolylineList
Описание отсутствует. |
property
|
Polygons: TfgMapPolygonList
Описание отсутствует. |
property
|
Circles: TfgMapCircleList
Описание отсутствует. |
property
|
VisibleRegion: TfgMapRect
Координаты видимого на карте региона указанного в географических координатах. Метод должен вызывать только, когда карта проинициализирована и готова к использованию OnMapReady , IsMapReadyToUse .
|
property
|
CameraTarget: TfgMapCoordinate
Географические координаты относительно которой размещается камера. |
property
|
CameraZoom: Single
Зум камеры [1..20]:
|
property
|
CameraTilt: Single
Наклон камеры относительно перпендикуляра опущеного на землю и направления обзора с камеры в точку CameraTarget . |
property
|
CameraBearing: Single
Пеленг камеры в градусах по часовой стрелке относительно Севера. |
property
|
ControlsSettings: TfgMapControlSettings
Настройки отображения элементов управления картой. |
property
|
MapType: TfgMapType
Тип карты. |
property
|
GoogleMapStyle: TfgGoogleMapStyleOptions
Настройки стиля Google карты. Актуально только для Андроид платформы.
|
property
|
StandardLayerKinds: TfgMapStandardLayerKinds
Настройки отображения стандартных слоев. |
property
|
UserGestureKinds: TfgMapUserGestureKinds
Какие жесты разрешается совершать пользователю с картой. |
События
event
|
OnCameraChanging: TNotifyEvent
Срабатывает в процессе изменения параметров камеры. |
event
|
OnCameraChanged: TNotifyEvent
Срабатывает в конце процесса изменения параметров камеры. |
event
|
OnMapReady: TNotifyEvent
Вызывается, когда карта проинициализирована и готова к использованию. Именно в этот момент можно работать с объектами на карте. |
event
|
OnMarkerTap: TfgMapMarkerEvent
Вызывается, когда пользователь нажимает на маркер. |
event
|
OnMarkerDragStart: TfgMapMarkerEvent
Вызывается, когда маркер начинает перетаскиваться. |
event
|
OnMarkerDrag: TfgMapMarkerEvent
Вызывается повторно во время перетаскивания маркера. |
event
|
OnMarkerDragEnd: TfgMapMarkerEvent
Вызывается после перетаскивания маркера. |
event
|
OnPolygonTap: TfgMapPolygonEvent
Вызывается, когда пользователь нажимает на полигон. |
event
|
OnPolylineTap: TfgMapPolylineEvent
Вызывается, когда пользователь нажимает на кривую. |
event
|
OnCircleTap: TfgMapCircleEvent
Вызывается, когда пользователь нажимает на круг. |
event
|
OnInfoWindowTap: TfgMapMarkerEvent
Вызывается, когда пользователь нажимает на информационное окно, появляющееся рядом с маркером. |
Константы
const
|
DefaultMapType: TfgMapType
Описание отсутствует. |