FGX.Map.TfgCustomMap: различия между версиями

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
 
(не показана 1 промежуточная версия этого же участника)
Строка 40: Строка 40:
  
 
<p>Выполняет конвертацию точки <i>APosition</i> в локальной системе координаты компонента в географических координаты.</p><div class="info">Метод должен вызывать только, когда карта проинициализирована и готова к использованию <i>OnMapReady</i> , <i>IsMapReadyToUse</i> .</div>
 
<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>
 
|}
 
|}
  
Строка 57: Строка 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>
Строка 79: Строка 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>
 
|}
 
|}
  
Строка 94: Строка 108:
 
<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 или позже.

На каждой платформе используется свой провайдер карты. На Андроиде - Google Map.

Конструкторы

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]:

  • 1 - Весь мир. Самый мелкий масштаб.
  • 5 - Континенты.
  • 10 - Города.
  • 15 - Улицы.
  • 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

Описание отсутствует.