Skip to content

worldwind-ui API / worldwind-kit / GlobeController

Class: GlobeController ​

Defined in: kit/src/globe.ts:90

Owns one WorldWindow: creates it on a host element, wires up layers, camera and picking, and tears everything down in destroy() (something WorldWind itself cannot do). *

Example ​

ts
const globe = await GlobeController.create(document.getElementById('map')!, {
  layers: ['blue-marble-landsat', 'atmosphere'],
  view: { latitude: 48.85, longitude: 2.35, range: 5e5 },
});
globe.on('click', (event) => console.log(event.position));
await globe.camera.goTo({ latitude: 51.5, longitude: -0.12, range: 1e6 }, { duration: 2000 });
globe.destroy();

Constructors ​

Constructor ​

new GlobeController(worldWind, host, options?): GlobeController

Defined in: kit/src/globe.ts:117

Parameters ​

worldWind ​

WorldWindStatic

host ​

HTMLElement

A <canvas> to render into, or any element that should receive a new canvas.

options? ​

GlobeOptions = {}

Returns ​

GlobeController

Properties ​

camera ​

readonly camera: CameraController

Defined in: kit/src/globe.ts:95


canvas ​

readonly canvas: HTMLCanvasElement

Defined in: kit/src/globe.ts:93


layers ​

readonly layers: LayerManager

Defined in: kit/src/globe.ts:94


worldWind ​

readonly worldWind: WorldWindStatic

Defined in: kit/src/globe.ts:91


wwd ​

readonly wwd: WWWorldWindow

Defined in: kit/src/globe.ts:92

Accessors ​

isDisposed ​

Get Signature ​

get isDisposed(): boolean

Defined in: kit/src/globe.ts:156

Returns ​

boolean


projection ​

Get Signature ​

get projection(): ProjectionKind

Defined in: kit/src/globe.ts:160

Returns ​

ProjectionKind

Methods ​

addEventListener() ​

addEventListener<E>(type, listener): Unsubscribe

Defined in: kit/src/globe.ts:212

Raw DOM events on the canvas (wheel, mousemove, touchstart, ...).

Type Parameters ​

E ​

E extends Event = Event

Parameters ​

type ​

string

listener ​

(event) => void

Returns ​

Unsubscribe


addLayer() ​

addLayer(kind, options?): WWLayer

Defined in: kit/src/globe.ts:169

Creates and adds a built-in layer.

Parameters ​

kind ​

BuiltInLayerKind

options? ​

LayerOptions = {}

Returns ​

WWLayer


addRenderableLayer() ​

addRenderableLayer(displayName?, options?): WWRenderableLayer

Defined in: kit/src/globe.ts:178

Creates and adds an empty RenderableLayer for placemarks, paths and other shapes.

Parameters ​

displayName? ​

string = 'Renderables'

options? ​

LayerOptions = {}

Returns ​

WWRenderableLayer


addWmsLayer() ​

addWmsLayer(options): WWLayer

Defined in: kit/src/globe.ts:173

Parameters ​

options ​

WmsLayerOptions

Returns ​

WWLayer


create() ​

static create(host, options?, loadOptions?): Promise<GlobeController>

Defined in: kit/src/globe.ts:105

Loads WorldWind (once, lazily) and creates a globe.

Parameters ​

host ​

HTMLElement

options? ​

GlobeOptions = {}

loadOptions? ​

LoadWorldWindOptions

Returns ​

Promise<GlobeController>


destroy() ​

destroy(): void

Defined in: kit/src/globe.ts:255

Stops rendering, removes layers and listeners, releases the WebGL context, and removes the canvas if this controller created it. The controller is unusable afterwards.

Returns ​

void


on() ​

on(type, handler): Unsubscribe

Defined in: kit/src/globe.ts:192

Subscribes to click, double-click or hover picks. All subscribers of a type share one set of WorldWind recognizers (see PickDispatcher). Unsubscribed automatically on destroy.

Parameters ​

type ​

PickEventType

handler ​

PickHandler

Returns ​

Unsubscribe


onProjectionChange() ​

onProjectionChange(listener): Unsubscribe

Defined in: kit/src/globe.ts:247

Notifies whenever setProjection changes the projection.

Parameters ​

listener ​

(projection) => void

Returns ​

Unsubscribe


pick() ​

pick(clientX, clientY, options?): PickResult

Defined in: kit/src/globe.ts:184

Parameters ​

clientX ​

number

clientY ​

number

options? ​

PickOptions

Returns ​

PickResult


redraw() ​

redraw(): void

Defined in: kit/src/globe.ts:164

Returns ​

void


setProjection() ​

setProjection(kind): void

Defined in: kit/src/globe.ts:218

Switches between the 3D globe and flat projections.

Parameters ​

kind ​

ProjectionKind

Returns ​

void


toScreen() ​

toScreen(position): ScreenPoint | null

Defined in: kit/src/globe.ts:197

Where a position lands on the canvas after the last frame, or null if it cannot be projected.

Parameters ​

position ​

LatLonAlt

Returns ​

ScreenPoint | null


trackPosition() ​

trackPosition(position, listener): Unsubscribe

Defined in: kit/src/globe.ts:202

Follows a position across frames; the listener fires whenever its screen point changes.

Parameters ​

position ​

LatLonAlt

listener ​

(point) => void

Returns ​

Unsubscribe


trackScale() ​

trackScale(listener, options?): Unsubscribe

Defined in: kit/src/globe.ts:207

The map scale at the view centre, now and after every frame in which it changed.

Parameters ​

listener ​

(state) => void

options? ​

ScaleBarOptions = {}

Returns ​

Unsubscribe

MIT licensed. Not affiliated with NASA; WorldWind is NASA's open-source virtual globe.