Skip to content

Documentation / @gebeta/js

@gebeta/js

Classes

BrowserLocationProvider

Implements

  • ILocationProvider

Methods

start()
ts
start(onLocation): void
Parameters
ParameterType
onLocation(location) => void
Returns

void

Implementation of

ILocationProvider.start

Defined in

client/js/src/adapters/LocationProvider.ts:36

stop()
ts
stop(): void
Returns

void

Implementation of

ILocationProvider.stop

Defined in

client/js/src/adapters/LocationProvider.ts:70

getInstance()
ts
static getInstance(options?): BrowserLocationProvider
Parameters
ParameterType
options?LocationProviderOptions
Returns

BrowserLocationProvider

Defined in

client/js/src/adapters/LocationProvider.ts:23


ClusteringManager

Manages marker clustering on a MapLibre map.

Groups nearby markers into clusters at lower zoom levels and renders individual markers when zoomed in. Cluster markers automatically expand on click unless a custom clusterOnClick handler is provided.

Enable via the constructor: new GebetaMaps({ clustering: { enabled: true } }), then access via sdk.clustering.

Constructors

new ClusteringManager()
ts
new ClusteringManager(
   mapAdapter, 
   markerFactory, 
   popupFactory, 
   options): ClusteringManager
Parameters
ParameterType
mapAdapterIMapAdapter
markerFactoryIMarkerFactory
popupFactoryIPopupFactory
optionsClusteringOptions
Returns

ClusteringManager

Defined in

client/js/src/Clustering/ClusteringManager.ts:30

Methods

addMarker()
ts
addMarker(marker): void

Add a marker to clustering.

Parameters
ParameterTypeDescription
markerMarkerDataMarker data to add
Returns

void

Defined in

client/js/src/Clustering/ClusteringManager.ts:59

clearMarkers()
ts
clearMarkers(): void

Clear all markers.

Returns

void

Defined in

client/js/src/Clustering/ClusteringManager.ts:85

getMarker()
ts
getMarker(markerId): undefined | MarkerData

Get marker by ID.

Parameters
ParameterTypeDescription
markerIdstringID of marker to find
Returns

undefined | MarkerData

Marker data or undefined if not found

Defined in

client/js/src/Clustering/ClusteringManager.ts:103

getMarkers()
ts
getMarkers(): MarkerData[]

Get all markers.

Returns

MarkerData[]

Array of all markers

Defined in

client/js/src/Clustering/ClusteringManager.ts:94

getOptions()
ts
getOptions(): NormalizedClusteringOptions

Get clustering options.

Returns

NormalizedClusteringOptions

Current clustering options

Defined in

client/js/src/Clustering/ClusteringManager.ts:124

removeMarker()
ts
removeMarker(markerId): boolean

Remove a marker by ID.

Parameters
ParameterTypeDescription
markerIdstringID of marker to remove
Returns

boolean

True if marker was removed, false if not found

Defined in

client/js/src/Clustering/ClusteringManager.ts:69

updateOptions()
ts
updateOptions(options): void

Update clustering options.

Parameters
ParameterTypeDescription
optionsPartial<ClusteringOptions>Partial options to update
Returns

void

Defined in

client/js/src/Clustering/ClusteringManager.ts:111


DirectionsManager

Manages route display on the map.

Wraps the core DirectionsManager and adds MapLibre GL rendering: draws the route line and places origin/destination/waypoint markers.

Use via sdk.getDirections() and sdk.displayRoute(), or access directly for advanced use cases.

Constructors

new DirectionsManager()
ts
new DirectionsManager(
   mapAdapter, 
   markerFactory, 
   auth, 
   clientId?): DirectionsManager
Parameters
ParameterType
mapAdapterIMapAdapter
markerFactoryIMarkerFactory
authResolvedAuth
clientId?string
Returns

DirectionsManager

Defined in

client/js/src/Directions/DirectionsManager.ts:39

Methods

clearRoute()
ts
clearRoute(): void
Returns

void

Defined in

client/js/src/Directions/DirectionsManager.ts:111

displayRoute()
ts
displayRoute(routeData, options): void
Parameters
ParameterType
routeDataRouteData
optionsDisplayRouteOptions & object
Returns

void

Defined in

client/js/src/Directions/DirectionsManager.ts:70

getCurrentRoute()
ts
getCurrentRoute(): null | RouteData
Returns

null | RouteData

Defined in

client/js/src/Directions/DirectionsManager.ts:118

getDirections()
ts
getDirections(
   origin, 
   destination, 
options): Promise<RouteData>
Parameters
ParameterType
originLngLat
destinationLngLat
optionsDirectionsOptions
Returns

Promise<RouteData>

Defined in

client/js/src/Directions/DirectionsManager.ts:60

getRouteSummary()
ts
getRouteSummary(): null | object
Returns

null | object

Defined in

client/js/src/Directions/DirectionsManager.ts:122

updateRouteStyle()
ts
updateRouteStyle(style): void
Parameters
ParameterType
styleRouteStyleOptions
Returns

void

Defined in

client/js/src/Directions/DirectionsManager.ts:140


FenceManager

Manages geofences (polygons) on the map.

Supports interactive fence drawing, rendering pre-defined fences, and attaching overlays (HTML labels) at fence centroids.

Access via sdk.fencing after calling sdk.init().

Constructors

new FenceManager()
ts
new FenceManager(
   mapAdapter, 
   markerFactory, 
   popupFactory, 
   options): FenceManager
Parameters
ParameterType
mapAdapterIMapAdapter
markerFactoryIMarkerFactory
popupFactoryIPopupFactory
optionsFenceManagerOptions
Returns

FenceManager

Defined in

client/js/src/Fencing/FenceManager.ts:61

Methods

addPoint()
ts
addPoint(point, options?): void

Add a point to the current fence.

Parameters
ParameterTypeDescription
pointLngLatLikePoint to add
options?FencePointOptions & objectOptional point options
Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:130

canCloseFence()
ts
canCloseFence(): boolean

Check if current fence can be closed (has at least 3 points).

Returns

boolean

True if fence can be closed

Defined in

client/js/src/Fencing/FenceManager.ts:343

clearAllFences()
ts
clearAllFences(): void

Clear all stored fences.

Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:260

clearCurrentFence()
ts
clearCurrentFence(): void

Clear the current fence being drawn.

Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:198

closeFence()
ts
closeFence(): null | FenceDefinition

Close the current fence.

Returns

null | FenceDefinition

Fence definition if closed successfully, null otherwise

Defined in

client/js/src/Fencing/FenceManager.ts:182

getCurrentFencePoints()
ts
getCurrentFencePoints(): LngLatLike[]

Get the current fence points.

Returns

LngLatLike[]

Array of points or empty array if not drawing

Defined in

client/js/src/Fencing/FenceManager.ts:335

getCurrentStyle()
ts
getCurrentStyle(): FenceStyleOptions

Get current fence style (if drawing).

Returns

FenceStyleOptions

Current fence style or default style

Defined in

client/js/src/Fencing/FenceManager.ts:303

getDefaultStyle()
ts
getDefaultStyle(): FenceStyleOptions

Get current default style.

Returns

FenceStyleOptions

Copy of default style

Defined in

client/js/src/Fencing/FenceManager.ts:295

getFence()
ts
getFence(fenceId): undefined | FenceDefinition

Get a fence by ID.

Parameters
ParameterTypeDescription
fenceIdstring | numberFence ID
Returns

undefined | FenceDefinition

Fence definition or undefined if not found

Defined in

client/js/src/Fencing/FenceManager.ts:220

getFenceByName()
ts
getFenceByName(name): undefined | FenceDefinition

Get a fence by name.

Parameters
ParameterTypeDescription
namestringFence name
Returns

undefined | FenceDefinition

Fence definition or undefined if not found

Defined in

client/js/src/Fencing/FenceManager.ts:229

getFenceCentroid()
ts
getFenceCentroid(fence): LngLat

Get fence centroid.

Parameters
ParameterTypeDescription
fencestring | number | FenceDefinitionFence definition or fence ID
Returns

LngLat

Centroid coordinates

Defined in

client/js/src/Fencing/FenceManager.ts:352

getFences()
ts
getFences(): FenceDefinition[]

Get all stored fences.

Returns

FenceDefinition[]

Array of fence definitions

Defined in

client/js/src/Fencing/FenceManager.ts:211

getProximityThreshold()
ts
getProximityThreshold(): number

Get proximity threshold.

Returns

number

Threshold in meters

Defined in

client/js/src/Fencing/FenceManager.ts:319

isDrawingFence()
ts
isDrawingFence(): boolean

Check if currently drawing a fence.

Returns

boolean

True if drawing is active

Defined in

client/js/src/Fencing/FenceManager.ts:327

off()
ts
off(event, callback): void

Remove event listener for fence events.

Parameters
ParameterTypeDescription
event"fenceCompleted"Event name
callback(event) => voidCallback function to remove
Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:387

on()
ts
on(event, callback): void

Add event listener for fence events.

Parameters
ParameterTypeDescription
event"fenceCompleted"Event name
callback(event) => voidCallback function
Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:378

removeFence()
ts
removeFence(fenceId): boolean

Remove a fence by ID.

Parameters
ParameterTypeDescription
fenceIdstring | numberFence ID
Returns

boolean

True if fence was removed

Defined in

client/js/src/Fencing/FenceManager.ts:238

removeFenceByName()
ts
removeFenceByName(name): boolean

Remove a fence by name.

Parameters
ParameterTypeDescription
namestringFence name
Returns

boolean

True if fence was removed

Defined in

client/js/src/Fencing/FenceManager.ts:251

renderFences()
ts
renderFences(fences, options?): void

Render multiple fences from an array of definitions.

Parameters
ParameterTypeDescription
fencesFenceDefinition[]Array of fence definitions
options?objectRender options
options.clearExisting?boolean-
options.persistent?boolean-
Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:361

setDefaultStyle()
ts
setDefaultStyle(style): void

Set default fence style for future fences.

Parameters
ParameterTypeDescription
styleFenceStyleOptionsStyle options
Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:287

setProximityThreshold()
ts
setProximityThreshold(meters): void

Set proximity threshold for auto-closing fences.

Parameters
ParameterTypeDescription
metersnumberThreshold distance in meters
Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:311

startDrawing()
ts
startDrawing(style?): void

Start drawing a new fence.

Parameters
ParameterTypeDescription
style?FenceStyleOptionsOptional style options for this fence
Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:104

stopDrawing()
ts
stopDrawing(): void

Stop drawing the current fence.

Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:118

updateCurrentFenceStyle()
ts
updateCurrentFenceStyle(style): void

Update the style for the current fence being drawn.

Parameters
ParameterTypeDescription
stylePartial<FenceStyleOptions>Style options to update
Returns

void

Defined in

client/js/src/Fencing/FenceManager.ts:274


GebetaMaps

Main entry point for the Gebeta Maps JavaScript SDK.

Example

ts
// Service account auth (recommended)
const sdk = new GebetaMaps({
  auth: { accessToken: '...', refreshToken: '...' }
});
const map = sdk.init({ container: '#map', center: [38.74, 9.02], zoom: 12 });

// Legacy API key (deprecated)
const sdk = new GebetaMaps({ apiKey: 'your-api-key' });

Constructors

new GebetaMaps()
ts
new GebetaMaps(options): GebetaMaps

Creates a new GebetaMaps instance.

Provide either apiKey (deprecated) or auth (service account) — not both.

Parameters
ParameterTypeDescription
optionsGebetaMapsConstructorOptions & objectConstructor options
Returns

GebetaMaps

Throws

If neither apiKey nor auth is provided, or if both are provided.

Defined in

client/js/src/GebetaMaps.ts:67

Accessors

clustering
Get Signature
ts
get clustering(): null | ClusteringManager

Access clustering functionality for grouping nearby markers. Returns null if clustering was not enabled in the constructor options.

Returns

null | ClusteringManager

Defined in

client/js/src/GebetaMaps.ts:307

fencing
Get Signature
ts
get fencing(): FenceManager

Access geofencing functionality for drawing and managing polygon fences.

Throws

If called before init() completes map style loading.

Returns

FenceManager

Defined in

client/js/src/GebetaMaps.ts:315

geocodingManager
Get Signature
ts
get geocodingManager(): GeocodingManager

Access geocoding functionality (forward and reverse).

Throws

If called before init() completes map style loading.

Returns

GeocodingManager

Defined in

client/js/src/GebetaMaps.ts:44

Get Signature
ts
get navigation(): NavigationManager

Access turn-by-turn navigation with real-time tracking.

Throws

If called before init() completes map style loading.

Returns

NavigationManager

Defined in

client/js/src/GebetaMaps.ts:335

Methods

addNavigationControls()
ts
addNavigationControls(position): void

Add zoom +/- navigation controls to the map. Alternatively, pass navigationControl: true in init() options.

Parameters
ParameterTypeDefault valueDescription
positionstringAPI.Common.Enums.CornerPosition.TOP_RIGHTCorner position (default: 'top-right')
Returns

void

Defined in

client/js/src/GebetaMaps.ts:207

clearRoute()
ts
clearRoute(): void

Remove the currently displayed route line and markers from the map.

Returns

void

Defined in

client/js/src/GebetaMaps.ts:271

displayRoute()
ts
displayRoute(routeData, options?): void

Render a route on the map as a colored line with optional origin/destination markers.

Parameters
ParameterTypeDescription
routeDataRouteDataRoute returned from getDirections()
options?DisplayRouteOptions & objectDisplay options (showMarkers, originIcon, destinationIcon, routeStyle)
Returns

void

Defined in

client/js/src/GebetaMaps.ts:260

getCurrentRoute()
ts
getCurrentRoute(): null | RouteData

Returns the currently active route, or null if no route is loaded.

Returns

null | RouteData

Defined in

client/js/src/GebetaMaps.ts:277

getDirections()
ts
getDirections(
   origin, 
   destination, 
options?): Promise<RouteData>

Calculate a route between two points.

Parameters
ParameterTypeDescription
originLngLatStarting point { lng, lat }
destinationLngLatEnding point { lng, lat }
options?DirectionsOptionsOptional waypoints and average speed
Returns

Promise<RouteData>

RouteData with geometry, instructions, and summary

Throws

If called before init() completes map style loading.

Throws

If origin or destination coordinates are missing.

Throws

If the directions API request fails.

Example
ts
const route = await sdk.getDirections(
  { lng: 38.74, lat: 9.02 },
  { lng: 38.78, lat: 9.05 }
);
sdk.displayRoute(route);
Defined in

client/js/src/GebetaMaps.ts:240

getMap()
ts
getMap(): null | Map

Returns the underlying MapLibre GL Map instance, or null before init().

Returns

null | Map

Defined in

client/js/src/GebetaMaps.ts:327

getPlatform()
ts
getPlatform(): PlatformContext

Returns the platform context (map adapter, marker/popup factories). Useful for advanced use cases that need direct access to the underlying adapters.

Returns

PlatformContext

Throws

If called before init().

Defined in

client/js/src/GebetaMaps.ts:191

getRouteSummary()
ts
getRouteSummary(): null | object

Returns distance, duration, origin, destination, and waypoints for the current route.

Returns

null | object

Defined in

client/js/src/GebetaMaps.ts:283

init()
ts
init(options): Map

Initialize the map and mount it to a DOM element.

All SDK managers (geocoding, directions, fencing, clustering, navigation) are created after the map style finishes loading. Do not call manager methods until the map style.load event fires.

Parameters
ParameterTypeDescription
optionsGebetaMapsInitOptionsInitialization options
Returns

Map

The underlying MapLibre GL Map instance

Defined in

client/js/src/GebetaMaps.ts:136

updateRouteStyle()
ts
updateRouteStyle(style): void

Update the visual style of the displayed route line.

Parameters
ParameterTypeDescription
styleRouteStyleOptionsStyle properties (line-color, line-width, line-opacity, line-dasharray)
Returns

void

Defined in

client/js/src/GebetaMaps.ts:298


GeocodingManager

GeocodingManager handles forward and reverse geocoding operations. Platform-agnostic: uses fetch API which is available in all JS environments.

Constructors

new GeocodingManager()
ts
new GeocodingManager(auth, clientId?): GeocodingManager
Parameters
ParameterType
authResolvedAuth
clientId?string
Returns

GeocodingManager

Defined in

core/dist/Geocoding/GeocodingManager.d.ts:11

Methods

geocode()
ts
geocode(name): Promise<GeocodeResult[]>

Forward geocoding: search by name/address.

Parameters
ParameterTypeDescription
namestringPlace name or address to search for
Returns

Promise<GeocodeResult[]>

Promise resolving to array of geocoding results

Defined in

core/dist/Geocoding/GeocodingManager.d.ts:17

reverseGeocode()
ts
reverseGeocode(latlng): Promise<GeocodeResult[]>

Reverse geocoding: search by coordinates.

Parameters
ParameterType
latlngLngLat
Returns

Promise<GeocodeResult[]>

Promise resolving to array of geocoding results

Defined in

core/dist/Geocoding/GeocodingManager.d.ts:23


Browser navigation manager — wraps the core NavigationManager and adds map rendering: a live location marker and a camera that follows the driver.

Access via sdk.navigation after calling sdk.init().

Example

ts
const route = await sdk.getDirections(origin, destination);
sdk.displayRoute(route);

sdk.navigation.on('progress', e => console.log('remaining:', e.remainingDistance));
sdk.navigation.on('arrive', () => console.log('Arrived!'));

sdk.navigation.start(route, { userId: 'user-123' }, new BrowserLocationProvider());

Constructors

new NavigationManager()
ts
new NavigationManager(
   auth, 
   mapAdapter, 
   markerFactory, 
   options, 
   clientId?): NavigationManager

Creates a new NavigationManager instance.

Parameters
ParameterTypeDescription
authResolvedAuthAPI key or service key authentication input
mapAdapterIMapAdapterMap adapter for camera control
markerFactoryIMarkerFactoryMarker factory for location marker
optionsNavigationManagerOptionsConfiguration options for navigation behavior
clientId?string-
Returns

NavigationManager

Throws

If apiKey, mapAdapter, or markerFactory is missing

Defined in

client/js/src/Navigation/NavigationManager.ts:47

Methods

getCurrentRoute()
ts
getCurrentRoute(): null | RouteData

Gets the current route being navigated.

Returns

null | RouteData

Current route data or null if not navigating

Defined in

client/js/src/Navigation/NavigationManager.ts:246

getCurrentStepIndex()
ts
getCurrentStepIndex(): number

Gets the current step index in the route instructions.

Returns

number

Current step index

Defined in

client/js/src/Navigation/NavigationManager.ts:254

isNavigating()
ts
isNavigating(): boolean

Checks if navigation is currently active.

Returns

boolean

True if navigating, false otherwise

Defined in

client/js/src/Navigation/NavigationManager.ts:262

off()
ts
off<K>(event, callback): void
Type Parameters
Type Parameter
K extends keyof NavigationEventMap
Parameters
ParameterType
eventK
callback| (event) => void | (error) => void | (event) => void | (event) => void | (event) => void | (event) => void | (event) => void
Returns

void

Defined in

client/js/src/Navigation/NavigationManager.ts:273

on()
ts
on<K>(event, callback): void
Type Parameters
Type Parameter
K extends keyof NavigationEventMap
Parameters
ParameterType
eventK
callback| (event) => void | (error) => void | (event) => void | (event) => void | (event) => void | (event) => void | (event) => void
Returns

void

Defined in

client/js/src/Navigation/NavigationManager.ts:266

start()
ts
start(
   route, 
   startOptions, 
   locationProvider): void

Starts navigation along the provided route.

Parameters
ParameterTypeDescription
routeRouteDataRoute data containing geometry and instructions
startOptionsNavigationStartOptionsOptions for starting navigation (userId, role, precision)
locationProviderILocationProviderProvider that supplies location data
Returns

void

Defined in

client/js/src/Navigation/NavigationManager.ts:77

stop()
ts
stop(): void

Stops navigation and removes location marker.

Returns

void

Defined in

client/js/src/Navigation/NavigationManager.ts:114