Skip to content

EventType (Event Types)

Event type constants used throughout the ge3d library for event handling.

Overview

EventType is an enum containing all event type constants used in the ge3d library. These constants are used with event listeners to handle various user interactions, object lifecycle events, and system events.

Usage

ts
import { EventType } from 'ge3d';

Event Categories

Object Lifecycle Events

EventValueDescription
add"add"Object added
remove"remove"Object removed
addItem"addItem"Item added
removeItem"removeItem"Item removed
addFeature"addFeature"Vector data added (used when listening on layers)
removeFeature"removeFeature"Vector data removed (used when listening on layers)
addObject"addObject"Layer added (used when listening on map)
removeObject"removeObject"Layer removed (used when listening on map)

Update Events

EventValueDescription
update"update"Object updated
updateStyle"updateStyle"Style object updated
updateAttr"updateAttr"Attribute object updated

Visibility Events

EventValueDescription
show"show"Object shown
hide"hide"Object hidden

Process Events

EventValueDescription
start"start"Process started
change"change"Process changed
endItem"endItem"One item completed in async analysis
end"end"All items completed in async analysis
stop"stop"Process completed

Loading Events

EventValueDescription
loadBefore"loadBefore"Loading completed, before any other processing
load"load"Loading completed, after all internal processing
error"error"Error occurred
loadConfig"loadConfig"Configuration loading completed
EventValueDescription
popupOpen"popupOpen"Popup opened
popupClose"popupClose"Popup closed
tooltipOpen"tooltipOpen"Tooltip opened
tooltipClose"tooltipClose"Tooltip closed

Mouse Events

EventValueDescription
click"click"Left mouse click
clickGraphic"clickGraphic"Left click on vector or model data
clickTileGraphic"clickTileGraphic"Left click on WMS or ArcGIS tile service vector data
clickMap"clickMap"Left click on empty map (no vector or model data)
dblClick"dblClick"Left double click
leftDown"leftDown"Left mouse button pressed
leftUp"leftUp"Left mouse button released
mouseMove"mouseMove"Mouse moved
mouseMoveTarget"mouseMoveTarget"Mouse moved (with target picking and delayed processing)
wheel"wheel"Mouse wheel scrolled
rightClick"rightClick"Right mouse click
rightDown"rightDown"Right mouse button pressed
rightUp"rightUp"Right mouse button released
middleClick"middleClick"Middle mouse click
middleDown"middleDown"Middle mouse button pressed
middleUp"middleUp"Middle mouse button released
mouseDown"mouseDown"Any mouse button pressed (left, middle, right)
mouseUp"mouseUp"Any mouse button released (left, middle, right)
mouseOver"mouseOver"Mouse entered
mouseOut"mouseOut"Mouse exited

Touch Events

EventValueDescription
pinchStart"pinchStart"Two-finger zoom started on touch screen
pinchEnd"pinchEnd"Two-finger zoom ended on touch screen
pinchMove"pinchMove"Two-finger movement on touch screen

Keyboard Events

EventValueDescription
keydown"keydown"Key pressed
keyup"keyup"Key released

Drawing Events

EventValueDescription
drawStart"drawStart"Drawing started
drawMouseMove"drawMouseMove"Mouse moved during drawing
drawAddPoint"drawAddPoint"Point added during drawing
drawRemovePoint"drawRemovePoint"Last point removed during drawing
drawCreated"drawCreated"Drawing creation completed
move"move"Drawing event

Editing Events

EventValueDescription
editStart"editStart"Editing started
editMouseDown"editMouseDown"Mouse pressed during editing
editMouseMove"editMouseMove"Mouse moved during editing
editMovePoint"editMovePoint"Point moved during editing
editRemovePoint"editRemovePoint"Point removed during editing
editStyle"editStyle"Style modified during editing
editStop"editStop"Editing stopped
editMouseMoveOut"editMouseMoveOut"Mouse moved out of edit point
editMouseMoveOver"editMouseMoveOver"Mouse moved over edit point

3D Tiles Events

EventValueDescription
initialTilesLoaded"initialTilesLoaded"3D Tiles model tiles initialized (called once)
allTilesLoaded"allTilesLoaded"Current batch of 3D Tiles model loaded (called multiple times)

Tile Events

EventValueDescription
addTile"addTile"Raster tile layer, single tile added, loading started
addTileSuccess"addTileSuccess"Raster tile layer, single tile loading completed
addTileError"addTileError"Raster tile layer, single tile loading failed
removeTile"removeTile"Raster tile layer, single tile removed

Camera Events

EventValueDescription
cameraMoveStart"cameraMoveStart"Camera movement started
cameraMoveEnd"cameraMoveEnd"Camera movement completed
cameraChanged"cameraChanged"Camera position completed

Scene Events

EventValueDescription
preUpdate"preUpdate"Before scene update
postUpdate"postUpdate"After scene update
preRender"preRender"Before scene render
postRender"postRender"After scene render
renderError"renderError"Scene render failed (page refresh needed)
morphStart"morphStart"Scene mode (2D/3D/Columbus) transformation started
morphComplete"morphComplete"Scene mode (2D/3D/Columbus) transformation completed
clockTick"clockTick"Clock tick

Impression Events

EventValueDescription
addImpression"addImpression"Impression added
removeImpression"removeImpression"Impression removed

Usage Example

javascript
// Create map core
const core = new ge3d.Core("cesiumContainer", {
  scene: {
    center: { lat: 39.9087, lng: 116.3975, alt: 20000000 }
  }
});

// Listen to click events
core.addEventListener(ge3d.EventType.click, (event) => {
  console.log('Map clicked:', event);
});

// Listen to graphic click events
core.addEventListener(ge3d.EventType.clickGraphic, (event) => {
  console.log('Graphic clicked:', event);
});

// Listen to camera movement
core.addEventListener(ge3d.EventType.cameraMoveEnd, (event) => {
  console.log('Camera movement ended');
});

// Listen to layer load events
const layer = new ge3d.layer.GeoJsonLayer({
  url: 'data.geojson'
});

layer.addEventListener(ge3d.EventType.load, (event) => {
  console.log('Layer loaded:', event);
});

// Listen to drawing events
core.addEventListener(ge3d.EventType.drawCreated, (event) => {
  console.log('Drawing created:', event);
});

// Listen to editing events
feature.addEventListener(ge3d.EventType.editStart, (event) => {
  console.log('Editing started:', event);
});

Notes

  1. EventType constants are used with addEventListener() and removeEventListener() methods
  2. Different objects support different event types (e.g., Core supports camera events, layers support load events)
  3. Event listeners receive an event object containing relevant data about the event
  4. Some events are specific to certain object types (e.g., drawing events for drawing tools, editing events for editable objects)
  5. Mouse events provide detailed interaction information for user interface handling