@nativescript-community/ui-massifmaps
    Preparing search index...

    Class MassifMap

    Addressed through its Options: fog, sky, light, terrain, camera limits... all hang off it.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    className: "massif::Options"
    handle: Handle<"massif::Options">
    id?: string

    The registry id, when the object has one. A call result does not.

    Accessors

    • get events(): string[]

      Returns string[]

    • get valid(): boolean

      False after destroy, and after the id was dropped.

      Returns boolean

    Methods

    • Type Parameters

      Parameters

      • layer: L
      • Optionalindex: number

      Returns L

    • A facade event takes its native subscription here, on the first handler.

      Parameters

      • eventNames: string
      • callback: (data: EventData) => void
      • OptionalthisArg: any
      • ...rest: any[]

      Returns void

    • Parameters

      • spec: {
            baseBillboard?: string | Handle<any> | ElementSpec;
            geometry?: string | Handle<any> | GeometrySpec;
            id?: number;
            metaData?: Record<string, Json>;
            position?: Position;
            rotation?: number;
            style: string | Handle<any> | ElementstyleSpec;
            type: "marker";
            visible?: boolean;
        }
        • OptionalbaseBillboard?: string | Handle<any> | ElementSpec

          Returns the base billboard this billboard is attached to.

        • Optionalgeometry?: string | Handle<any> | GeometrySpec

          Returns the geometry object that defines the location of this billboard.

        • Optionalid?: number

          Returns the internal id of this vector element.

        • OptionalmetaData?: Record<string, Json>

          Returns a copy of the vector element meta data map. The changes you make to this map are NOT reflected in the actual meta data of the element.

        • Optionalposition?: Position
        • Optionalrotation?: number

          Returns the rotation angle of this billboard.

        • style: string | Handle<any> | ElementstyleSpec

          Returns the style of this marker.

        • type: "marker"
        • Optionalvisible?: boolean

          Returns the state of the visibility flag of this vector element.

      Returns MassifObject<"massif::Marker">

    • Parameters

      • spec: {
            anchorPointX?: number;
            anchorPointY?: number;
            balloonPopupEventListener?: Handle;
            baseBillboard?: string | Handle<any> | ElementSpec;
            description: string;
            geometry?: string | Handle<any> | GeometrySpec;
            id?: number;
            metaData?: Record<string, Json>;
            position?: Position;
            rotation?: number;
            style: string | Handle<any> | ElementstyleSpec;
            title: string;
            type: "balloon";
            visible?: boolean;
        }
        • OptionalanchorPointX?: number

          Returns the horizontal anchor point of this popup.

        • OptionalanchorPointY?: number

          Returns the vertical anchor point of this popup.

        • OptionalballoonPopupEventListener?: Handle

          Returns the balloon popup event listener.

        • OptionalbaseBillboard?: string | Handle<any> | ElementSpec

          Returns the base billboard this billboard is attached to.

        • description: string

          Returns the description of this balloon popup.

        • Optionalgeometry?: string | Handle<any> | GeometrySpec

          Returns the geometry object that defines the location of this billboard.

        • Optionalid?: number

          Returns the internal id of this vector element.

        • OptionalmetaData?: Record<string, Json>

          Returns a copy of the vector element meta data map. The changes you make to this map are NOT reflected in the actual meta data of the element.

        • Optionalposition?: Position
        • Optionalrotation?: number

          Returns the rotation angle of this billboard.

        • style: string | Handle<any> | ElementstyleSpec

          Returns the style of this balloon popup.

        • title: string

          Returns the title of this balloon popup.

        • type: "balloon"
        • Optionalvisible?: boolean

          Returns the state of the visibility flag of this vector element.

      Returns MassifObject<"massif::BalloonPopup">

    • Parameters

      • id: string
      • nativeLayer: any
      • OptionalclassName: ClassName

      Returns MassifLayer

    • Several properties in ONE JNI/JSI crossing via setAll. Object values (handles, inline specs) cannot be JSON and go one by one, as does everything on an SDK without setAll.

      Parameters

      Returns this

    • Hook for a subclass that has to install a native listener before the first subscription.

      Parameters

      • event: string

      Returns void

    • Owned by the map but not placed: for add(layer, index) or layers().insert(...).

      Type Parameters

      Parameters

      Returns MassifLayer<ClassOfSpec<"layer", T>>

    • The path may traverse object properties (layer.call('tileDecoder.setStyleParameter', ...)). An object result is a MassifObject the CALLER OWNS - destroy() it, or it stays registered.

      Type Parameters

      • M extends never

      Parameters

      • method: M
      • ...args: {}[M] extends { args: A } ? A extends unknown[] ? A<A> : never : never

      Returns CallResult<"massif::Options", M>

    • call on a worker. extract runs INSIDE the delivery, the only time an object result is alive, e.g. (tile) => tile.getData('data'). Scalars and flat arrays need no extract.

      Type Parameters

      Parameters

      • method: M
      • args: {}[M] extends { args: A } ? A extends unknown[] ? A<A> : never : never
      • Optionalextract: (result: MassifObject<ResultClass<"massif::Options", M>>) => R

      Returns CancellablePromise<R>

    • Returns MapCamera

    • Returns number

    • wait holds the capture until the tiles have settled.

      Parameters

      • Optionalwait: boolean

      Returns Promise<any>

    • The object behind an object property, OWNED by the caller (destroy() it); null when empty. Unlike group it hands the object over, e.g. to share a source between layers.

      Type Parameters

      Parameters

      • path: P

      Returns MassifObject<ClassAtPath<"massif::Options", P>>

    • Defaults cover a search result; a route's instructions are collect(fn, { countPath: 'instructionCount', method: 'getInstruction' }).

      Type Parameters

      • R

      Parameters

      Returns R[]

    • Defaults cover a search result; a route's instructions are collect(fn, { countPath: 'instructionCount', method: 'getInstruction' }).

      Type Parameters

      • M extends never
      • R

      Parameters

      Returns R[]

    • Releases every id the map built, not the view: the object API's map keeps working.

      Returns boolean

    • sourceSpec is for a map not in lon/lat; only the first call uses it.

      Parameters

      • OptionalsourceSpec: {
            geometrySimplifier?: Handle;
            projection: string | Record<string, Json> | Handle<any>;
            spatialIndexType?:
                | "LOCAL_SPATIAL_INDEX_TYPE_NULL"
                | "LOCAL_SPATIAL_INDEX_TYPE_KDTREE";
            type: "local";
        }
        • OptionalgeometrySimplifier?: Handle

          Returns the active geometry simplifier of the data source.

        • projection: string | Record<string, Json> | Handle<any>
        • OptionalspatialIndexType?: "LOCAL_SPATIAL_INDEX_TYPE_NULL" | "LOCAL_SPATIAL_INDEX_TYPE_KDTREE"
        • type: "local"

      Returns MassifElements

    • Shorthand for eventOptions({ projection }).

      Parameters

      Returns this

    • Parameters

      • Optionalspec: {
            color?: number;
            enabled?: boolean;
            highColor?: number;
            horizonBlend?: number;
            rangeEnd?: number;
            rangeStart?: number;
            shaderSource?: string;
            spaceColor?: number;
            starIntensity?: number;
            type: "fog";
            verticalRangeEnd?: number;
            verticalRangeStart?: number;
        }
        • Optionalcolor?: number

          Returns the fog color.

        • Optionalenabled?: boolean

          Returns whether the fog is drawn at all.

        • OptionalhighColor?: number

          Returns the color of the upper atmosphere.

        • OptionalhorizonBlend?: number

          Returns how far up the sky the fog is blended in.

        • OptionalrangeEnd?: number

          Returns where the fog reaches full strength.

        • OptionalrangeStart?: number

          Returns where the fog starts.

        • OptionalshaderSource?: string

          Returns the custom fog fragment shader source, or an empty string if the built-in blend is used.

        • OptionalspaceColor?: number

          Returns the color of the sky at the zenith, beyond the atmosphere.

        • OptionalstarIntensity?: number

          Returns how brightly stars are drawn beyond the atmosphere.

        • type: "fog"
        • OptionalverticalRangeEnd?: number

          Returns the altitude the fog has fully faded out at.

        • OptionalverticalRangeStart?: number

          Returns the altitude the fog starts fading out at.

      Returns PropertyGroup<"massif::FogOptions">

    • The path may walk objects (fogOptions.rangeStart), structs (clickInfo.clickType) and free-form data (properties.name). Enums come back as names, positions as [lon, lat], structs as JSON.

      Type Parameters

      • P extends
            | "ambientLightColor"
            | "clearColor"
            | "clickTypeDetection"
            | "debugTileBorders"
            | "doubleClickDetection"
            | "doubleClickMaxDuration"
            | "drawDistance"
            | "envelopeThreadPoolSize"
            | "fieldOfViewY"
            | "focusPointOffset"
            | "freeRoamLookSensitivity"
            | "freeRoamMode"
            | "freeRoamMoveSpeed"
            | "kineticPan"
            | "kineticRotation"
            | "kineticZoom"
            | "layersLabelsProcessedInReverseOrder"
            | "longClickDuration"
            | "mainLightColor"
            | "mainLightDirection"
            | "panBounds"
            | "panningMode"
            | "panningSpeedMode"
            | "pivotMode"
            | "renderProjectionMode"
            | "restrictedPanning"
            | "rotatable"
            | "rotationGestures"
            | "seamlessPanning"
            | "skyColor"
            | "tileDrawSize"
            | "tileLODFactor"
            | "tileThreadPoolSize"
            | "tiltGestureReversed"
            | "tiltRange"
            | "userInput"
            | "zoomGestures"
            | "zoomRange"
            | "DPI"
            | "background.bytesPerPixel"
            | "background.colorFormat"
            | "background.height"
            | "background.width"
            | "backgroundBitmap.bytesPerPixel"
            | "backgroundBitmap.colorFormat"
            | "backgroundBitmap.height"
            | "backgroundBitmap.width"
            | "baseProjection.bounds"
            | "baseProjection.name"
            | "clickMovingTolerance"
            | "fog.color"
            | "fog.enabled"
            | "fog.highColor"
            | "fog.horizonBlend"
            | "fog.rangeEnd"
            | "fog.rangeStart"
            | "fog.shaderSource"
            | "fog.spaceColor"
            | "fog.starIntensity"
            | "fog.verticalRangeEnd"
            | "fog.verticalRangeStart"
            | "fogOptions.color"
            | "fogOptions.enabled"
            | "fogOptions.highColor"
            | "fogOptions.horizonBlend"
            | "fogOptions.rangeEnd"
            | "fogOptions.rangeStart"
            | "fogOptions.shaderSource"
            | "fogOptions.spaceColor"
            | "fogOptions.starIntensity"
            | "fogOptions.verticalRangeEnd"
            | "fogOptions.verticalRangeStart"
            | "labelPadding"
            | "labelViewDistance"
            | "light.ambientColor"
            | "light.ambientIntensity"
            | "light.dayCycleLightStops"
            | "light.dayCycleLightsEnabled"
            | "light.dayCycleRisingLightStops"
            | "light.shadowBias"
            | "light.shadowCascades"
            | "light.shadowCasterMargin"
            | "light.shadowDistance"
            | "light.shadowMapSize"
            | "light.shadowNormalOffset"
            | "light.shadowSoftness"
            | "light.shadowStrength"
            | "light.sunAltitude"
            | "light.sunAzimuth"
            | "light.sunColor"
            | "light.sunIntensity"
            | "light.sunOverridingStyle"
            | "light.terrainLightingEnabled"
            | "light.terrainShadowCastingEnabled"
            | "lightOptions.ambientColor"
            | "lightOptions.ambientIntensity"
            | "lightOptions.dayCycleLightStops"
            | "lightOptions.dayCycleLightsEnabled"
            | "lightOptions.dayCycleRisingLightStops"
            | "lightOptions.shadowBias"
            | "lightOptions.shadowCascades"
            | "lightOptions.shadowCasterMargin"
            | "lightOptions.shadowDistance"
            | "lightOptions.shadowMapSize"
            | "lightOptions.shadowNormalOffset"
            | "lightOptions.shadowSoftness"
            | "lightOptions.shadowStrength"
            | "lightOptions.sunAltitude"
            | "lightOptions.sunAzimuth"
            | "lightOptions.sunColor"
            | "lightOptions.sunIntensity"
            | "lightOptions.sunOverridingStyle"
            | "lightOptions.terrainLightingEnabled"
            | "lightOptions.terrainShadowCastingEnabled"
            | "modelAnimationsEnabled"
            | "modelShadowsEnabled"
            | "orbitAroundPivot"
            | "projection.bounds"
            | "projection.name"
            | "sky.atmosphereColor"
            | "sky.atmosphereLuminance"
            | "sky.atmosphereSunIntensity"
            | "sky.enabled"
            | "sky.groundColor"
            | "sky.haloColor"
            | "sky.horizonBlend"
            | "sky.horizonColor"
            | "sky.quality"
            | "sky.shaderSource"
            | "sky.skyColor"
            | "sky.sunDiscEnabled"
            | "sky.type"
            | "skyOptions.atmosphereColor"
            | "skyOptions.atmosphereLuminance"
            | "skyOptions.atmosphereSunIntensity"
            | "skyOptions.enabled"
            | "skyOptions.groundColor"
            | "skyOptions.haloColor"
            | "skyOptions.horizonBlend"
            | "skyOptions.horizonColor"
            | "skyOptions.quality"
            | "skyOptions.shaderSource"
            | "skyOptions.skyColor"
            | "skyOptions.sunDiscEnabled"
            | "skyOptions.type"
            | "terrain.autoFlattenDuration"
            | "terrain.autoFlattenParallax"
            | "terrain.autoFlattenRiseDuration"
            | "terrain.autoFlattenTilt"
            | "terrain.backgroundColor"
            | "terrain.billboardOcclusionEnabled"
            | "terrain.billboardOcclusionTolerance"
            | "terrain.bridges3DEnabled"
            | "terrain.cameraClampDuration"
            | "terrain.cameraClearance"
            | "terrain.cameraClearanceFraction"
            | "terrain.depthBias"
            | "terrain.drapeCacheSize"
            | "terrain.drapeFillsEnabled"
            | "terrain.drapeLinesEnabled"
            | "terrain.drapeResolution"
            | "terrain.drapeWorkingSet"
            | "terrain.elevationCacheSize"
            | "terrain.elevationPrefetchEnabled"
            | "terrain.enabled"
            | "terrain.exaggeration"
            | "terrain.flattenMode"
            | "terrain.flattenRatio"
            | "terrain.flattened"
            | "terrain.focusLift"
            | "terrain.maxTileZoomCoarsening"
            | "terrain.maxTileZoomOffset"
            | "terrain.maxZoom"
            | "terrain.meshCacheSize"
            | "terrain.meshResolution"
            | "terrain.minZoom"
            | "terrain.noDrapeLayerFilter"
            | "terrain.normalSampleDistance"
            | "terrain.postProcessDownscale"
            | "terrain.seamlessTileEdgesEnabled"
            | "terrain.sharedGroundEnabled"
            | "terrain.subdivideDistance"
            | "terrain.surfaceNodeResolution"
            | "terrain.surfaceShaderSource"
            | "terrain.switching"
            | "terrain.textOcclusionOpacity"
            | "terrain.tileEdgeStitchingEnabled"
            | "terrain.viewDistance"
            | "terrain.viewDistanceFactor"
            | "terrain.viewDistanceMax"
            | "terrainOptions.autoFlattenDuration"
            | "terrainOptions.autoFlattenParallax"
            | "terrainOptions.autoFlattenRiseDuration"
            | "terrainOptions.autoFlattenTilt"
            | "terrainOptions.backgroundColor"
            | "terrainOptions.billboardOcclusionEnabled"
            | "terrainOptions.billboardOcclusionTolerance"
            | "terrainOptions.bridges3DEnabled"
            | "terrainOptions.cameraClampDuration"
            | "terrainOptions.cameraClearance"
            | "terrainOptions.cameraClearanceFraction"
            | "terrainOptions.depthBias"
            | "terrainOptions.drapeCacheSize"
            | "terrainOptions.drapeFillsEnabled"
            | "terrainOptions.drapeLinesEnabled"
            | "terrainOptions.drapeResolution"
            | "terrainOptions.drapeWorkingSet"
            | "terrainOptions.elevationCacheSize"
            | "terrainOptions.elevationPrefetchEnabled"
            | "terrainOptions.enabled"
            | "terrainOptions.exaggeration"
            | "terrainOptions.flattenMode"
            | "terrainOptions.flattenRatio"
            | "terrainOptions.flattened"
            | "terrainOptions.focusLift"
            | "terrainOptions.maxTileZoomCoarsening"
            | "terrainOptions.maxTileZoomOffset"
            | "terrainOptions.maxZoom"
            | "terrainOptions.meshCacheSize"
            | "terrainOptions.meshResolution"
            | "terrainOptions.minZoom"
            | "terrainOptions.noDrapeLayerFilter"
            | "terrainOptions.normalSampleDistance"
            | "terrainOptions.postProcessDownscale"
            | "terrainOptions.seamlessTileEdgesEnabled"
            | "terrainOptions.sharedGroundEnabled"
            | "terrainOptions.subdivideDistance"
            | "terrainOptions.surfaceNodeResolution"
            | "terrainOptions.surfaceShaderSource"
            | "terrainOptions.switching"
            | "terrainOptions.textOcclusionOpacity"
            | "terrainOptions.tileEdgeStitchingEnabled"
            | "terrainOptions.viewDistance"
            | "terrainOptions.viewDistanceFactor"
            | "terrainOptions.viewDistanceMax"
            | "tileLODMaxZoomLevelsOnScreen"
            | "tileLODTileCountRatio"
            | "tileStyleZoomLift"
            | "zoomOffset"
            | `focusPointOffset.${string}`
            | `mainLightDirection.${string}`
            | `panBounds.${string}`
            | `tiltRange.${string}`
            | `zoomRange.${string}`
            | `baseProjection.bounds.${string}`
            | `light.dayCycleLightStops.${string}`
            | `light.dayCycleRisingLightStops.${string}`
            | `lightOptions.dayCycleLightStops.${string}`
            | `lightOptions.dayCycleRisingLightStops.${string}`
            | `projection.bounds.${string}`

      Parameters

      • path: P

      Returns ValueAt<"massif::Options", P>

    • An empty path means the handle IS the blob.

      Parameters

      • Optionalpath: string

      Returns ArrayBuffer

    • Returns number[]

    • WGS84 [lng, lat] unless a projection is named here or on the subscription. An object whose source projection is unknown is left unconverted: a wrong guess is worse than an unconverted number.

      Type Parameters

      Parameters

      Returns P extends Path<"massif::Options">
          ? Extract<
              {
                  ambientLightColor: number;
                  background: Handle;
                  "background.bytesPerPixel": number;
                  "background.colorFormat":
                      | number
                      | "COLOR_FORMAT_UNSUPPORTED"
                      | "COLOR_FORMAT_BGRA"
                      | "COLOR_FORMAT_RGBA_4444"
                      | "COLOR_FORMAT_RGB_565";
                  "background.height": number;
                  "background.width": number;
                  backgroundBitmap: Handle;
                  "backgroundBitmap.bytesPerPixel": number;
                  "backgroundBitmap.colorFormat": | number
                  | "COLOR_FORMAT_UNSUPPORTED"
                  | "COLOR_FORMAT_BGRA"
                  | "COLOR_FORMAT_RGBA_4444"
                  | "COLOR_FORMAT_RGB_565";
                  "backgroundBitmap.height": number;
                  "backgroundBitmap.width": number;
                  baseProjection: Handle;
                  "baseProjection.bounds": Bounds;
                  "baseProjection.name": string;
                  clearColor: number;
                  clickMovingTolerance: number;
                  clickTypeDetection: boolean;
                  debugTileBorders: boolean;
                  doubleClickDetection: boolean;
                  doubleClickMaxDuration: number;
                  DPI: number;
                  drawDistance: number;
                  envelopeThreadPoolSize: number;
                  fieldOfViewY: number;
                  focusPointOffset: [number, number];
                  fog: Handle;
                  "fog.color": number;
                  "fog.enabled": boolean;
                  "fog.highColor": number;
                  "fog.horizonBlend": number;
                  "fog.rangeEnd": number;
                  "fog.rangeStart": number;
                  "fog.shaderSource": string;
                  "fog.spaceColor": number;
                  "fog.starIntensity": number;
                  "fog.verticalRangeEnd": number;
                  "fog.verticalRangeStart": number;
                  fogOptions: Handle;
                  "fogOptions.color": number;
                  "fogOptions.enabled": boolean;
                  "fogOptions.highColor": number;
                  "fogOptions.horizonBlend": number;
                  "fogOptions.rangeEnd": number;
                  "fogOptions.rangeStart": number;
                  "fogOptions.shaderSource": string;
                  "fogOptions.spaceColor": number;
                  "fogOptions.starIntensity": number;
                  "fogOptions.verticalRangeEnd": number;
                  "fogOptions.verticalRangeStart": number;
                  freeRoamLookSensitivity: number;
                  freeRoamMode:
                      | number
                      | "FREE_ROAM_MODE_OFF"
                      | "FREE_ROAM_MODE_LOOK"
                      | "FREE_ROAM_MODE_FIRST_PERSON";
                  freeRoamMoveSpeed: number;
                  kineticPan: boolean;
                  kineticRotation: boolean;
                  kineticZoom: boolean;
                  labelPadding: number;
                  labelViewDistance: number;
                  layersLabelsProcessedInReverseOrder: boolean;
                  light: Handle;
                  "light.ambientColor": number;
                  "light.ambientIntensity": number;
                  "light.dayCycleLightsEnabled": boolean;
                  "light.dayCycleLightStops": Json;
                  "light.dayCycleRisingLightStops": Json;
                  "light.shadowBias": number;
                  "light.shadowCascades": number;
                  "light.shadowCasterMargin": number;
                  "light.shadowDistance": number;
                  "light.shadowMapSize": number;
                  "light.shadowNormalOffset": number;
                  "light.shadowSoftness": number;
                  "light.shadowStrength": number;
                  "light.sunAltitude": number;
                  "light.sunAzimuth": number;
                  "light.sunColor": number;
                  "light.sunIntensity": number;
                  "light.sunOverridingStyle": boolean;
                  "light.terrainLightingEnabled": boolean;
                  "light.terrainShadowCastingEnabled": boolean;
                  lightOptions: Handle;
                  "lightOptions.ambientColor": number;
                  "lightOptions.ambientIntensity": number;
                  "lightOptions.dayCycleLightsEnabled": boolean;
                  "lightOptions.dayCycleLightStops": Json;
                  "lightOptions.dayCycleRisingLightStops": Json;
                  "lightOptions.shadowBias": number;
                  "lightOptions.shadowCascades": number;
                  "lightOptions.shadowCasterMargin": number;
                  "lightOptions.shadowDistance": number;
                  "lightOptions.shadowMapSize": number;
                  "lightOptions.shadowNormalOffset": number;
                  "lightOptions.shadowSoftness": number;
                  "lightOptions.shadowStrength": number;
                  "lightOptions.sunAltitude": number;
                  "lightOptions.sunAzimuth": number;
                  "lightOptions.sunColor": number;
                  "lightOptions.sunIntensity": number;
                  "lightOptions.sunOverridingStyle": boolean;
                  "lightOptions.terrainLightingEnabled": boolean;
                  "lightOptions.terrainShadowCastingEnabled": boolean;
                  longClickDuration: number;
                  mainLightColor: number;
                  mainLightDirection: Position;
                  modelAnimationsEnabled: boolean;
                  modelShadowsEnabled: boolean;
                  orbitAroundPivot: boolean;
                  panBounds: Bounds;
                  panningMode: | number
                  | "PANNING_MODE_FREE"
                  | "PANNING_MODE_STICKY"
                  | "PANNING_MODE_STICKY_FINAL";
                  panningSpeedMode: | number
                  | "PANNING_SPEED_MODE_MAP"
                  | "PANNING_SPEED_MODE_ANCHORED"
                  | "PANNING_SPEED_MODE_CONSTANT";
                  pivotMode: number
                  | "PIVOT_MODE_TOUCHPOINT"
                  | "PIVOT_MODE_CENTERPOINT";
                  projection: Handle;
                  "projection.bounds": Bounds;
                  "projection.name": string;
                  renderProjectionMode:
                      | number
                      | "RENDER_PROJECTION_MODE_PLANAR"
                      | "RENDER_PROJECTION_MODE_SPHERICAL";
                  restrictedPanning: boolean;
                  rotatable: boolean;
                  rotationGestures: boolean;
                  seamlessPanning: boolean;
                  sky: Handle;
                  "sky.atmosphereColor": number;
                  "sky.atmosphereLuminance": number;
                  "sky.atmosphereSunIntensity": number;
                  "sky.enabled": boolean;
                  "sky.groundColor": number;
                  "sky.haloColor": number;
                  "sky.horizonBlend": number;
                  "sky.horizonColor": number;
                  "sky.quality": | number
                  | "SKY_QUALITY_LOW"
                  | "SKY_QUALITY_MEDIUM"
                  | "SKY_QUALITY_HIGH";
                  "sky.shaderSource": string;
                  "sky.skyColor": number;
                  "sky.sunDiscEnabled": boolean;
                  "sky.type": number
                  | "SKY_TYPE_GRADIENT"
                  | "SKY_TYPE_ATMOSPHERE";
                  skyColor: number;
                  skyOptions: Handle;
                  "skyOptions.atmosphereColor": number;
                  "skyOptions.atmosphereLuminance": number;
                  "skyOptions.atmosphereSunIntensity": number;
                  "skyOptions.enabled": boolean;
                  "skyOptions.groundColor": number;
                  "skyOptions.haloColor": number;
                  "skyOptions.horizonBlend": number;
                  "skyOptions.horizonColor": number;
                  "skyOptions.quality":
                      | number
                      | "SKY_QUALITY_LOW"
                      | "SKY_QUALITY_MEDIUM"
                      | "SKY_QUALITY_HIGH";
                  "skyOptions.shaderSource": string;
                  "skyOptions.skyColor": number;
                  "skyOptions.sunDiscEnabled": boolean;
                  "skyOptions.type": number
                  | "SKY_TYPE_GRADIENT"
                  | "SKY_TYPE_ATMOSPHERE";
                  terrain: Handle;
                  "terrain.autoFlattenDuration": number;
                  "terrain.autoFlattenParallax": number;
                  "terrain.autoFlattenRiseDuration": number;
                  "terrain.autoFlattenTilt": number;
                  "terrain.backgroundColor": number;
                  "terrain.billboardOcclusionEnabled": boolean;
                  "terrain.billboardOcclusionTolerance": number;
                  "terrain.bridges3DEnabled": boolean;
                  "terrain.cameraClampDuration": number;
                  "terrain.cameraClearance": number;
                  "terrain.cameraClearanceFraction": number;
                  "terrain.depthBias": number;
                  "terrain.drapeCacheSize": number;
                  "terrain.drapeFillsEnabled": boolean;
                  "terrain.drapeLinesEnabled": boolean;
                  "terrain.drapeResolution": number;
                  "terrain.drapeWorkingSet": number;
                  "terrain.elevationCacheSize": number;
                  "terrain.elevationPrefetchEnabled": boolean;
                  "terrain.enabled": boolean;
                  "terrain.exaggeration": number;
                  "terrain.flattened": boolean;
                  "terrain.flattenMode":
                      | number
                      | "TERRAIN_FLATTEN_MODE_RENDER"
                      | "TERRAIN_FLATTEN_MODE_FULL";
                  "terrain.flattenRatio": number;
                  "terrain.focusLift": number;
                  "terrain.maxTileZoomCoarsening": number;
                  "terrain.maxTileZoomOffset": number;
                  "terrain.maxZoom": number;
                  "terrain.meshCacheSize": number;
                  "terrain.meshResolution": number;
                  "terrain.minZoom": number;
                  "terrain.noDrapeLayerFilter": string;
                  "terrain.normalSampleDistance": number;
                  "terrain.postProcessDownscale": number;
                  "terrain.seamlessTileEdgesEnabled": boolean;
                  "terrain.sharedGroundEnabled": boolean;
                  "terrain.subdivideDistance": number;
                  "terrain.surfaceNodeResolution": number;
                  "terrain.surfaceShaderSource": string;
                  "terrain.switching": boolean;
                  "terrain.textOcclusionOpacity": number;
                  "terrain.tileEdgeStitchingEnabled": boolean;
                  "terrain.viewDistance": number;
                  "terrain.viewDistanceFactor": number;
                  "terrain.viewDistanceMax": number;
                  terrainOptions: Handle;
                  "terrainOptions.autoFlattenDuration": number;
                  "terrainOptions.autoFlattenParallax": number;
                  "terrainOptions.autoFlattenRiseDuration": number;
                  "terrainOptions.autoFlattenTilt": number;
                  "terrainOptions.backgroundColor": number;
                  "terrainOptions.billboardOcclusionEnabled": boolean;
                  "terrainOptions.billboardOcclusionTolerance": number;
                  "terrainOptions.bridges3DEnabled": boolean;
                  "terrainOptions.cameraClampDuration": number;
                  "terrainOptions.cameraClearance": number;
                  "terrainOptions.cameraClearanceFraction": number;
                  "terrainOptions.depthBias": number;
                  "terrainOptions.drapeCacheSize": number;
                  "terrainOptions.drapeFillsEnabled": boolean;
                  "terrainOptions.drapeLinesEnabled": boolean;
                  "terrainOptions.drapeResolution": number;
                  "terrainOptions.drapeWorkingSet": number;
                  "terrainOptions.elevationCacheSize": number;
                  "terrainOptions.elevationPrefetchEnabled": boolean;
                  "terrainOptions.enabled": boolean;
                  "terrainOptions.exaggeration": number;
                  "terrainOptions.flattened": boolean;
                  "terrainOptions.flattenMode": | number
                  | "TERRAIN_FLATTEN_MODE_RENDER"
                  | "TERRAIN_FLATTEN_MODE_FULL";
                  "terrainOptions.flattenRatio": number;
                  "terrainOptions.focusLift": number;
                  "terrainOptions.maxTileZoomCoarsening": number;
                  "terrainOptions.maxTileZoomOffset": number;
                  "terrainOptions.maxZoom": number;
                  "terrainOptions.meshCacheSize": number;
                  "terrainOptions.meshResolution": number;
                  "terrainOptions.minZoom": number;
                  "terrainOptions.noDrapeLayerFilter": string;
                  "terrainOptions.normalSampleDistance": number;
                  "terrainOptions.postProcessDownscale": number;
                  "terrainOptions.seamlessTileEdgesEnabled": boolean;
                  "terrainOptions.sharedGroundEnabled": boolean;
                  "terrainOptions.subdivideDistance": number;
                  "terrainOptions.surfaceNodeResolution": number;
                  "terrainOptions.surfaceShaderSource": string;
                  "terrainOptions.switching": boolean;
                  "terrainOptions.textOcclusionOpacity": number;
                  "terrainOptions.tileEdgeStitchingEnabled": boolean;
                  "terrainOptions.viewDistance": number;
                  "terrainOptions.viewDistanceFactor": number;
                  "terrainOptions.viewDistanceMax": number;
                  tileDrawSize: number;
                  tileLODFactor: number;
                  tileLODMaxZoomLevelsOnScreen: number;
                  tileLODTileCountRatio: number;
                  tileStyleZoomLift: number;
                  tileThreadPoolSize: number;
                  tiltGestureReversed: boolean;
                  tiltRange: [number, number];
                  userInput: boolean;
                  zoomGestures: boolean;
                  zoomOffset: number;
                  zoomRange: [number, number];
              }[P<P>],
              Position
              | Bounds,
          >
          : Position | Bounds

    • A path the tables do not carry - the concrete class is more derived than the declared one.

      Parameters

      Returns Position | Bounds

    • Untyped call for the named wrappers: they know the declaring class, call's C does not.

      Parameters

      • method: string
      • args: readonly unknown[]

      Returns unknown

    • instanceof by class name, e.g. layer.is('massif::RasterTileLayer').

      Parameters

      Returns boolean

    • Escape hatch for paths the tables cannot type: free-form feature properties, a more derived class.

      Parameters

      • Optionalpath: string

      Returns Json

    • A layer this map added or adopted, by the id it was given.

      Parameters

      • id: string

      Returns MassifLayer<any>

    • Includes layers the object API put there.

      Returns number

    • Returns MapLayers

    • Parameters

      • Optionalspec: {
            ambientColor?: number;
            ambientIntensity?: number;
            dayCycleLightsEnabled?: boolean;
            dayCycleLightStops?: Json;
            dayCycleRisingLightStops?: Json;
            shadowBias?: number;
            shadowCascades?: number;
            shadowCasterMargin?: number;
            shadowDistance?: number;
            shadowMapSize?: number;
            shadowNormalOffset?: number;
            shadowSoftness?: number;
            shadowStrength?: number;
            sunAltitude?: number;
            sunAzimuth?: number;
            sunColor?: number;
            sunIntensity?: number;
            sunOverridingStyle?: boolean;
            terrainLightingEnabled?: boolean;
            terrainShadowCastingEnabled?: boolean;
            type: "light";
        }
        • OptionalambientColor?: number

          Returns the ambient light color.

        • OptionalambientIntensity?: number

          Returns the ambient light intensity.

        • OptionaldayCycleLightsEnabled?: boolean

          Returns whether the sun's COLOURS follow its position.

        • OptionaldayCycleLightStops?: Json

          Returns the day-cycle light curve.

        • OptionaldayCycleRisingLightStops?: Json

          Returns the curve used while the sun is RISING, if the app set one.

        • OptionalshadowBias?: number

          Returns the shadow depth bias scale.

        • OptionalshadowCascades?: number

          Returns the number of shadow cascades.

        • OptionalshadowCasterMargin?: number

          Returns the shadow caster margin in tiles.

        • OptionalshadowDistance?: number

          Returns the shadow distance.

        • OptionalshadowMapSize?: number

          Returns the shadow map resolution.

        • OptionalshadowNormalOffset?: number

          Returns the shadow normal offset.

        • OptionalshadowSoftness?: number

          Returns the shadow softness.

        • OptionalshadowStrength?: number

          Returns the shadow strength.

        • OptionalsunAltitude?: number

          Returns the sun altitude in degrees above the horizon.

        • OptionalsunAzimuth?: number

          Returns the sun azimuth in degrees.

        • OptionalsunColor?: number

          Returns the sun (directional light) color.

        • OptionalsunIntensity?: number

          Returns the sun light intensity.

        • OptionalsunOverridingStyle?: boolean

          Returns whether this sun overrides the one a style states.

        • OptionalterrainLightingEnabled?: boolean

          Returns whether the sun lights the 3D terrain surface.

        • OptionalterrainShadowCastingEnabled?: boolean

          Returns whether the terrain itself casts shadows.

        • type: "light"

      Returns PropertyGroup<"massif::LightOptions">

    • OWNED by this map and released with it; module-level create is for something shared.

      Type Parameters

      • K extends Kind
      • T extends string

      Parameters

      Returns MassifObject<ClassOfSpec<K, T>>

    • Type Parameters

      Parameters

      • kind: string
      • id: string
      • spec: { type: string } & { [key: string]: Json }
      • className: C

      Returns MassifObject<C>

      create - className is required, for the same reason.

    • Removes the listener(s) for the specified event name.

      Type Parameters

      Parameters

      • event: E
      • Optionalcallback: any

        An optional specific event listener to remove (if omitted, all event listeners by this name will be removed).

      • OptionalthisArg: any

        An optional parameter which, when set, will be used to refine search of the correct event listener to be removed.

      Returns void

    • Deliberately NOT widened to string so event-name typos fail; addEventListener takes any name.

      Type Parameters

      Parameters

      • event: E
      • callback: (data: MassifEventData<"massif::Options", E>) => void
      • OptionalthisArg: any

      Returns void

    • Adds a listener for the specified event name, which, once fired, will remove itself.

      Type Parameters

      Parameters

      • event: E
      • callback: (data: MassifEventData<"massif::Options", E>) => void

        The event listener to add. Will be called when an event of the given name is raised.

      • OptionalthisArg: any

        An optional parameter which, when set, will be bound as the this context when the callback is called. Falsy values will be not be bound.

      Returns void

    • Removes listener(s) for the specified event name.

      Parameters

      • eventNames: string
      • Optionalcallback: any

        An optional parameter pointing to a specific listener. If not defined, all listeners for the event names will be removed.

      • OptionalthisArg: any

        An optional parameter which when set will be used to refine search of the correct callback which will be removed as event listener.

      Returns void

    • The layer stays registered until it is destroyed.

      Parameters

      Returns boolean

    • Rarely needed: the SDK redraws on picture-changing writes. For off-UI-thread changes or a view hidden while moving.

      Returns this

    • An enum takes its constant name, a position an array.

      Type Parameters

      Parameters

      Returns this

    • Returns { height: number; width: number }

    • Parameters

      • Optionalspec: {
            atmosphereColor?: number;
            atmosphereLuminance?: number;
            atmosphereSunIntensity?: number;
            enabled?: boolean;
            groundColor?: number;
            haloColor?: number;
            horizonBlend?: number;
            horizonColor?: number;
            quality?:
                | number
                | "SKY_QUALITY_LOW"
                | "SKY_QUALITY_MEDIUM"
                | "SKY_QUALITY_HIGH";
            shaderSource?: string;
            skyColor?: number;
            sunDiscEnabled?: boolean;
            type: "sky";
        }
        • OptionalatmosphereColor?: number

          Returns the tint applied to Rayleigh scattering.

        • OptionalatmosphereLuminance?: number

          Returns the exposure applied to the scattered light.

        • OptionalatmosphereSunIntensity?: number

          Returns the brightness of the sun driving the atmosphere.

        • Optionalenabled?: boolean

          Returns whether the shader sky is enabled.

        • OptionalgroundColor?: number

          Returns the ground color.

        • OptionalhaloColor?: number

          Returns the tint applied to Mie scattering.

        • OptionalhorizonBlend?: number

          Returns the angular blend width between the horizon color and the sky color.

        • OptionalhorizonColor?: number

          Returns the horizon color.

        • Optionalquality?: number | "SKY_QUALITY_LOW" | "SKY_QUALITY_MEDIUM" | "SKY_QUALITY_HIGH"

          Returns how finely the atmosphere is integrated.

        • OptionalshaderSource?: string

          Returns the custom sky fragment shader source, or an empty string if the built-in shader is used.

        • OptionalskyColor?: number

          Returns the zenith sky color.

        • OptionalsunDiscEnabled?: boolean

          Returns whether the built-in shader draws a sun disc.

        • type: "sky"

          Returns what the sky pass draws.

      Returns PropertyGroup<"massif::SkyOptions">

    • Worth an id when the app talks to it later: a layer's style property cannot be read back as a handle.

      Type Parameters

      • T extends "mbvt"

      Parameters

      Returns MassifObject<ClassOfSpec<"style", T>>

    • The elevation decoder comes from the source's own encoding.

      Parameters

      • Optionalspec: {
            autoFlattenDuration?: number;
            autoFlattenParallax?: number;
            autoFlattenRiseDuration?: number;
            autoFlattenTilt?: number;
            backgroundColor?: number;
            billboardOcclusionEnabled?: boolean;
            billboardOcclusionTolerance?: number;
            bridges3DEnabled?: boolean;
            cameraClampDuration?: number;
            cameraClearance?: number;
            cameraClearanceFraction?: number;
            depthBias?: number;
            drapeCacheSize?: number;
            drapeFillsEnabled?: boolean;
            drapeLinesEnabled?: boolean;
            drapeResolution?: number;
            drapeWorkingSet?: number;
            elevationCacheSize?: number;
            elevationPrefetchEnabled?: boolean;
            enabled?: boolean;
            exaggeration?: number;
            flattened?: boolean;
            flattenMode?:
                | number
                | "TERRAIN_FLATTEN_MODE_RENDER"
                | "TERRAIN_FLATTEN_MODE_FULL";
            flattenRatio?: number;
            focusLift?: number;
            maxTileZoomCoarsening?: number;
            maxTileZoomOffset?: number;
            maxZoom?: number;
            meshCacheSize?: number;
            meshResolution?: number;
            minZoom?: number;
            noDrapeLayerFilter?: string;
            normalSampleDistance?: number;
            postProcessDownscale?: number;
            seamlessTileEdgesEnabled?: boolean;
            sharedGroundEnabled?: boolean;
            source: string
            | Handle<any>
            | SourceSpec;
            subdivideDistance?: number;
            surfaceNodeResolution?: number;
            surfaceShaderSource?: string;
            textOcclusionOpacity?: number;
            tileEdgeStitchingEnabled?: boolean;
            type: "terrain";
            viewDistance?: number;
            viewDistanceFactor?: number;
            viewDistanceMax?: number;
        }
        • OptionalautoFlattenDuration?: number

          Returns how long the terrain takes to sink flat.

        • OptionalautoFlattenParallax?: number

          Returns the screen parallax below which the terrain renders flat.

        • OptionalautoFlattenRiseDuration?: number

          Returns how long the terrain takes to rise back into 3D.

        • OptionalautoFlattenTilt?: number

          Returns the tilt at or above which the terrain renders flat.

        • OptionalbackgroundColor?: number

          Returns the terrain background color.

        • OptionalbillboardOcclusionEnabled?: boolean

          Returns the billboard/label terrain occlusion state.

        • OptionalbillboardOcclusionTolerance?: number

          Returns the billboard/label terrain occlusion tolerance.

        • Optionalbridges3DEnabled?: boolean

          Returns whether bridges and tunnels stand on their own chord (3D bridges).

        • OptionalcameraClampDuration?: number

          Returns the duration of the camera terrain-following correction animation.

        • OptionalcameraClearance?: number

          Returns the camera terrain clearance floor: an explicit minimum height the camera is kept above the terrain surface, in meters.

        • OptionalcameraClearanceFraction?: number

          Returns the share of the camera's altitude that the terrain clearance takes.

        • OptionaldepthBias?: number

          Returns the clip-space depth bias used when depth-testing draped 2D geometry against the terrain.

        • OptionaldrapeCacheSize?: number

          Returns the drape cache budget in megabytes.

        • OptionaldrapeFillsEnabled?: boolean

          Returns whether polygon fills are draped as a render-to-texture surface.

        • OptionaldrapeLinesEnabled?: boolean

          Returns whether vt tile lines are also draped (in addition to fills).

        • OptionaldrapeResolution?: number

          Returns the per-tile drape texture resolution, 0 when it follows the screen.

        • OptionaldrapeWorkingSet?: number

          Returns how many drape tiles the automatic resolution assumes are cached at once.

        • OptionalelevationCacheSize?: number

          Returns the elevation grid cache budget in megabytes, 0 for the SDK's own rule.

        • OptionalelevationPrefetchEnabled?: boolean

          Returns whether elevation tile prefetching is enabled.

        • Optionalenabled?: boolean

          Returns the enabled state of the terrain.

        • Optionalexaggeration?: number

          Returns the terrain height exaggeration factor.

        • Optionalflattened?: boolean

          Returns whether the map is asked to render flat. This is the 2D/3D state, whether it was set by the app or by auto-flattening; the switch itself is animated, so for a moment after a change the map is still on its way there.

        • OptionalflattenMode?: number | "TERRAIN_FLATTEN_MODE_RENDER" | "TERRAIN_FLATTEN_MODE_FULL"

          Returns how far a flattened terrain goes back towards a plain 2D map.

        • OptionalflattenRatio?: number

          Returns how far the terrain is flattened right now, 0 (full 3D) to 1 (flat).

        • OptionalfocusLift?: number

          Returns the height the viewpoint is lifted above the ground-following focus, in meters.

        • OptionalmaxTileZoomCoarsening?: number

          Returns how many zoom levels below the camera a tile may coarsen to.

        • OptionalmaxTileZoomOffset?: number

          Returns the maximum visible tile zoom offset, relative to the camera zoom level.

        • OptionalmaxZoom?: number

          Returns the maximum tile zoom level the terrain mesh is cut at.

        • OptionalmeshCacheSize?: number

          Returns how many terrain surface meshes may be cached.

        • OptionalmeshResolution?: number

          Returns the terrain mesh resolution.

        • OptionalminZoom?: number

          Returns the minimum tile zoom level with 3D terrain.

        • OptionalnoDrapeLayerFilter?: string

          Returns the style layers that are kept out of the terrain drape bake.

        • OptionalnormalSampleDistance?: number

          Returns the ground distance the surface normals are measured over, in meters.

        • OptionalpostProcessDownscale?: number

          Returns the downscale factor of the packed depth/normal texture post-process effects read.

        • OptionalseamlessTileEdgesEnabled?: boolean

          Returns whether seamless tile edge handling is enabled.

        • OptionalsharedGroundEnabled?: boolean

          Returns whether the shared ground pass draws the terrain a second time.

        • source: string | Handle<any> | SourceSpec
        • OptionalsubdivideDistance?: number

          Returns the distance geo-three's terrain LOD subdivides at.

        • OptionalsurfaceNodeResolution?: number

          Returns the resolution the elevation node field is built at.

        • OptionalsurfaceShaderSource?: string

          Returns the custom terrain surface fragment shader source, or an empty string if no shaded surface is drawn.

        • OptionaltextOcclusionOpacity?: number

          Returns the opacity a label keeps while its anchor is behind 3D content.

        • OptionaltileEdgeStitchingEnabled?: boolean

          Returns whether cross-LOD tile edge stitching is enabled.

        • type: "terrain"
        • OptionalviewDistance?: number

          Returns the minimum view distance, in meters.

        • OptionalviewDistanceFactor?: number

          Returns the factor applied to the view distance.

        • OptionalviewDistanceMax?: number

          Returns the maximum view distance, in meters.

      Returns PropertyGroup<"massif::TerrainOptions">

    • Returns a string representation of an object.

      Returns string

    • The same without throwing, for a path that may legitimately not be there.

      Type Parameters

      Parameters

      Returns number