Skip to main content

Class: G3XMapBuilder

A builder for G3X Touch maps.

Constructors

constructor

new G3XMapBuilder(): G3XMapBuilder

Returns

G3XMapBuilder

Methods

airspaces

airspaces<MapBuilder>(mapBuilder, gduFormat, settingManager?, order?): MapBuilder

Configures a map builder to generate a map which displays airspaces, and optionally binds the visibility of airspaces to user settings.

Adds the following...

Context properties:

  • [MapSystemKeys.AirspaceManager]: GenericAirspaceRenderManager

Modules:

  • [MapSystemKeys.Airspace]: MapAirspaceModule

Layers:

  • [MapSystemKeys.Airspace]: MapAirspaceLayer

Controllers:

  • [GarminMapKeys.AirspaceVisibility]: MapAirspaceVisController (only with user settings support)

Type parameters

NameType
MapBuilderextends MapSystemBuilder<any, any, any, any>

Parameters

NameTypeDescription
mapBuilderMapBuilderThe map builder to configure.
gduFormatGduFormatThe format of the map's parent GDU.
settingManager?UserSettingManager<Partial<MapAirspaceVisUserSettings>>A setting manager containing the user settings controlling airspace visibility. If not defined, airspace visibility will not be controlled by user settings.
order?numberThe order to assign to the airspace layer. Layers with lower assigned order will be attached to the map before and appear below layers with greater assigned order values. Defaults to the number of layers already added to the map builder.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:384


compassArc

compassArc<MapBuilder>(mapBuilder, options, order?): MapBuilder

Configures a map builder to generate a map which displays a compass arc. The compass arc is displayed only in Heading Up and Track Up orientation while the map is following the player airplane.

Requires the following...

Modules:

  • [MapSystemKeys.OwnAirplaneProps]: MapOwnAirplanePropsModule
  • [MapSystemKeys.AutopilotProps]: MapGarminAutopilotPropsModule (only if the heading bug is shown)
  • [MapSystemKeys.FollowAirplane]: MapFollowAirplaneModule
  • [GarminMapKeys.Orientation]: MapOrientationModule
  • [GarminMapKeys.Units]: MapUnitsModule (only if magnetic/true bearing toggle is desired)

Adds the following...

Modules:

  • [G3XMapKeys.CompassArc]: G3XMapCompassArcModule

Layers:

  • [G3XMapKeys.CompassArc]: G3XMapCompassArcLayer

Controllers:

  • [G3XMapKeys.CompassArc]: MapRangeCompassController

Type parameters

NameType
MapBuilderextends MapSystemBuilder<Omit<G3XMapCompassArcLayerModules, "compassArc">, any, any, any>

Parameters

NameTypeDescription
mapBuilderMapBuilderThe map builder to configure.
optionsReadonly<CompassArcOptions>Styling options for the compass arc.
order?numberThe order to assign to the compass arc layer. Layers with lower assigned order will be attached to the map before and appear below layers with greater assigned order values. Defaults to the number of layers already added to the map builder.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:241


dataIntegrity

dataIntegrity<MapBuilder>(mapBuilder, gduIndex, gduSettingManager, airplaneIconSrc?, airplaneIconAnchor?, normalIconSrc?): MapBuilder

Configures a map builder to generate a map which supports data integrity state. During loss of valid heading information, the map will default to North Up orientation, and the player airplane icon will optionally be changed to reflect this state. During loss of valid GPS signal, the map will stop attempting to follow the player airplane, and the player airplane icon will be hidden.

Type parameters

NameType
MapBuilderextends MapSystemBuilder<any, any, any, any>

Parameters

NameTypeDescription
mapBuilderMapBuilderThe map builder to configure.
gduIndexnumberThe index of the GDU from which the map sources data.
gduSettingManagerUserSettingManager<GduUserSettingTypes>A manager for GDU user settings.
airplaneIconSrc?MutableSubscribable<string, string>A mutable subscribable which controls the player airplane icon's image source URI. Required for this controller to change the player airplane icon.
airplaneIconAnchor?MutableSubscribable<Readonly<Omit<Float64Array, "set" | "sort" | "copyWithin">>, Readonly<Omit<Float64Array, "set" | "sort" | "copyWithin">>>A mutable subscribable which controls the anchor point of the player airplane icon. Required for this controller to change the player airplane icon.
normalIconSrc?string | Subscribable<string>The URI of the normal player airplane icon's image source, or a subscribable which provides it. Required for the player airplane icon to change during loss of valid heading information.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:149


dragPan

dragPan<MapBuilder>(mapBuilder): MapBuilder

Configures a map builder to generate a map with drag-to-pan support. Activating drag-to-pan allows the user to control map panning by dragging the map and stops the map from actively rotating.

If map target, orientation, or rotation control resource moderators exist on the map context, the panning RTR controller will attempt to claim those resources with a priority of 100. Otherwise, the controller assumes nothing else controls the map target or rotation.

Adds the following...

Modules:

  • [GarminMapKeys.Panning]: MapPanningModule
  • [G3XMapKeys.DragPan]: MapDragPanModule

Controllers:

  • [GarminMapKeys.PanningRTR]: MapPanningRTRController
  • [G3XMapKeys.DragPan]: MapDragPanController (can be used to control the behavior of drag-to-pan)
  • [G3XMapKeys.DragPanRTR]: MapDragPanRTRController

Type parameters

NameType
MapBuilderextends MapSystemBuilder<any, any, any, MapPanningRTRControllerContext>

Parameters

NameTypeDescription
mapBuilderMapBuilderThe map builder to configure.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:512


miniCompass

miniCompass<MapBuilder>(mapBuilder, supportOrientationToggle?, order?): MapBuilder

Configures a map builder to generate a map which displays a miniature compass.

Adds the layer GarminMapKeys.MiniCompass: G3XMapMiniCompassLayer.

Type parameters

NameType
MapBuilderextends MapSystemBuilder<any, any, any, any>

Parameters

NameTypeDescription
mapBuilderMapBuilderThe map builder to configure.
supportOrientationToggle?booleanWhether the compass should support the orientation toggle feature. If defined, then the compass will function as a touchscreen button. If not defined, then the compass will not function as a button. The orientation toggle feature requires the following modules: [GarminMapKeys.Orientation]: MapOrientationModule [G3XMapKeys.OrientationOverride]: MapOrientationOverrideModule Defaults to false.
order?numberThe order to assign to the mini-compass layer. Layers with lower assigned order will be attached to the map before and appear below layers with greater assigned order values. Defaults to the number of layers already added to the map builder.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:475


nexrad

nexrad<MapBuilder>(mapBuilder, minRangeIndex?, settingManager?, colors?): MapBuilder

Configures a map builder to generate a map which supports NEXRAD, and optionally binds the display of NEXRAD to user settings.

Requires the module [MapSystemKeys.Weather]: MapWxrModule.

Adds the following...

Modules:

  • [GarminMapKeys.Range]: MapIndexedRangeModule
  • [GarminMapKeys.Nexrad]: MapNexradModule

Controllers:

  • [MapSystemKeys.Weather]: MapWxrController
  • [GarminMapKeys.Nexrad]: G3XMapNexradController

Type parameters

NameType
MapBuilderextends MapSystemBuilder<{ weather: MapWxrModule }, any, any, any>

Parameters

NameTypeDefault valueDescription
mapBuilderMapBuilderundefinedThe map builder to configure.
minRangeIndexnumber0The minimum range index, inclusive, at which NEXRAD is visible. Defaults to 0.
settingManager?UserSettingManager<Partial<G3XMapNexradUserSettings>>undefinedA user setting manager containing settings which control NEXRAD. If not defined, NEXRAD will not be controlled by user settings.
colors?readonly readonly [number, number][]undefinedThe color array for the NEXRAD overlay. If not defined, default colors will be applied.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:191


orientation

orientation<MapBuilder>(mapBuilder, projectedRange, nominalTargetOffsets?, settingManager?): MapBuilder

Configures a map builder to generate a map which supports different orientations, as enumerated by MapOrientation. Each orientation defines a different rotation behavior and target offset.

Adds the following...

Context properties:

  • [MapSystemKeys.RotationControl]: ResourceModerator<void>
  • [GarminMapKeys.OrientationControl]: ResourceModerator<void>
  • [GarminMapKeys.DesiredOrientationControl]: ResourceModerator<void>

Modules:

  • [MapSystemKeys.Rotation]: MapRotationModule
  • [GarminMapKeys.Orientation]: MapOrientationModule
  • [GarminMapKeys.Range]: MapIndexedRangeModule
  • [MapSystemKeys.OwnAirplaneProps]: MapOwnAirplanePropsModule

Controllers:

  • [G3XMapKeys.RangeEndpoints]: MapRangeEndpointsController
  • [MapSystemKeys.Rotation]: MapRotationController
  • [GarminMapKeys.OrientationRTR]: MapOrientationRTRController
  • [GarminMapKeys.Orientation]: G3XMapOrientationModeController
  • [GarminMapKeys.DesiredOrientation]: MapDesiredOrientationController
  • [GarminMapKeys.OrientationSettings]: MapOrientationSettingsController (only with user setting support)

Type parameters

NameType
MapBuilderextends MapSystemBuilder<any, any, any, any>

Parameters

NameTypeDescription
mapBuilderMapBuilderThe map builder to configure.
projectedRangenumber | Subscribable<number>The projected scale of the map's nominal range, in pixels.
nominalTargetOffsets?Partial<Record<MapOrientation, Readonly<Omit<Float64Array, "set" | "sort" | "copyWithin">> | Subscribable<Readonly<Omit<Float64Array, "set" | "sort" | "copyWithin">>>>>The nominal projected target offsets defined by each orientation. Each target offset is a 2-tuple [x, y], where each component is expressed relative to the width or height of the map's projected window, excluding the dead zone. If an orientation does not have a defined offset, it will default to [0, 0].
settingManager?UserSettingManager<Partial<MapOrientationSettingsControllerSettings>>A setting manager containing user settings used to control the map orientation. If not defined, map orientation will not be bound to user settings.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:90


orientationOverride

orientationOverride<MapBuilder>(mapBuilder): MapBuilder

Configures a map builder to generate a map which supports different orientations, as enumerated by MapOrientation. Each orientation defines a different rotation behavior and target offset.

Adds the module [G3XMapKeys.OrientationOverride]: MapOrientationOverrideModule.

Type parameters

NameType
MapBuilderextends MapSystemBuilder<any, any, any, any>

Parameters

NameTypeDescription
mapBuilderMapBuilderThe map builder to configure.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:126


trackVector

trackVector<MapBuilder>(mapBuilder, options, settingManager?, order?): MapBuilder

Configures a map builder to generate a map with a track vector, and optionally binds the display options of the vector to user settings.

Adds the following...

Modules:

  • [GarminMapKeys.TrackVector]: G3XMapTrackVectorModule

Layers:

  • [GarminMapKeys.TrackVector]: G3XMapTrackVectorLayer

Controllers:

  • [GarminMapKeys.TrackVector]: G3XMapTrackVectorController (only if user settings are supported)

Type parameters

NameType
MapBuilderextends MapSystemBuilder<Omit<G3XMapTrackVectorLayerModules, "trackVector">, any, any, any>

Parameters

NameTypeDescription
mapBuilderMapBuilderThe map builder to configure.
optionsTrackVectorOptionsOptions for the track vector.
settingManager?UserSettingManager<Partial<G3XMapTrackVectorUserSettings>>A setting manager containing user settings used to control the track vector. If not defined, the track vector will not be bound to user settings.
order?numberThe order to assign to the track vector layer. Layers with lower assigned order will be attached to the map before and appear below layers with greater assigned order values. Defaults to the number of layers already added to the map builder.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:430


waypoints

waypoints<MapBuilder>(mapBuilder, configure, supportRunwayOutlines, settingManager?, order?): MapBuilder

Configures a map builder to generate a map which supports the display of waypoints located within the boundaries of the map's projected window. Waypoints displayed in this manner are rendered by a MapWaypointRenderer under the role MapWaypointRenderRole.Normal. Optionally binds the visibility of waypoints to user settings.

If a text layer has already been added to the builder, its order will be changed so that it is rendered above the waypoint layer. Otherwise, a text layer will be added to the builder after the waypoint layer.

Adds the following...

Context properties:

  • [MapSystemKeys.TextManager]: MapCullableTextLabelManager
  • [MapSystemKeys.WaypointRenderer]: MapWaypointRenderer
  • [GarminMapKeys.WaypointDisplayBuilder]: MapWaypointDisplayBuilder

Modules:

  • [MapSystemKeys.NearestWaypoints]: MapWaypointsModule
  • [G3XMapKeys.LabelText]: G3XMapLabelTextModule
  • [GarminMapKeys.Range]: MapIndexedRangeModule (only if user settings are supported)

Layers:

  • [MapSystemKeys.NearestWaypoints]: MapWaypointsLayer
  • [MapSystemKeys.TextLayer]: MapCullableTextLayer

Controllers:

  • [MapSystemKeys.WaypointRenderer]: MapSystemCustomController (handles initialization and updating of the waypoint renderer)
  • [GarminMapKeys.WaypointsVisibility]: MapWaypointsVisController (only if user settings are supported)
  • [GarminMapKeys.RunwayVisibility]: MapSymbolVisController (only if runway outlines are supported)
  • [GarminMapKeys.RunwayLabelVisibility]: MapSymbolVisController (only if runway outlines are supported)
  • [G3XMapKeys.WaypointLabelText]: MapWaypointLabelTextController (only if user settings are supported)

Type parameters

NameType
MapBuilderextends MapSystemBuilder<any, any, any, any>

Parameters

NameTypeDescription
mapBuilderMapBuilderThe map builder to configure.
configure(builder: MapWaypointDisplayBuilder, context: MapSystemContext<any, any, any, any>) => voidA function used to configure the display and styling of waypoint icons and labels.
supportRunwayOutlinesbooleanWhether to support the rendering of airport runway outlines.
settingManager?UserSettingManager<Partial<MapWaypointVisUserSettings & Pick<G3XMapUserSettingTypes, "mapRunwayLabelRangeIndex"> & MapWaypointLabelTextUserSettings>>A setting manager containing the user settings controlling waypoint visibility and label text. If not defined, waypoint visibility and label text will not be bound to user settings.
order?numberThe order to assign to the waypoint layer. Layers with lower assigned order will be attached to the map before and appear below layers with greater assigned order values. Defaults to the number of layers already added to the map builder.

Returns

MapBuilder

The map builder, after it has been configured.

Defined in

src/workingtitle-instruments-g3x-touch/html_ui/Pages/VCockpit/Instruments/NavSystems/G3XTouch/Shared/Components/Map/G3XMapBuilder.tsx:302