Skip to main content

ILocationSource

wemap-sdk-js


Interface: ILocationSource

Base interface for all position data sources

Each location source implements this interface and emits pose updates. Location sources can be started/stopped and provide callbacks for updates and errors.

Example

const locationSource: ILocationSource = new VPSLocationSource();

locationSource.onUpdate((pose) => {
console.log('Position:', pose.position);
});

locationSource.onError((error) => {
console.error('Location error:', error);
});

await locationSource.start();

Methods

offError()?

optional offError(callback): void

Remove the error callback

Parameters

callback

(error) => void

The callback function to remove

Returns

void

Example

const errorHandler = (error) => {  };
locationSource.onError?.(errorHandler);
// Later...
locationSource.offError?.(errorHandler);

offUpdate()?

optional offUpdate(callback): void

Remove the update callback

Parameters

callback

(data) => void

The callback function to remove

Returns

void

Example

const updateHandler = (pose) => {  };
locationSource.onUpdate(updateHandler);
// Later...
locationSource.offUpdate?.(updateHandler);

onError()?

optional onError(callback): void

Register a callback to receive error events

Parameters

callback

(error) => void

Function to call when an error occurs

Returns

void

Example

locationSource.onError((error) => {
console.error('Location source error:', error.message);
});

onUpdate()

onUpdate(callback): void

Register a callback to receive pose updates

The callback receives pose data whenever the location source provides an update. Multiple callbacks can be registered.

Parameters

callback

(data) => void

Function to call when pose data is updated

Returns

void

Example

locationSource.onUpdate((pose) => {
if (pose.position) {
console.log(`Lat: ${pose.position.lat}, Lon: ${pose.position.lon}`);
}
});

start()

start(): Promise\<void>

Start the location source and begin emitting updates

Returns

Promise\<void>

Throws

If the location source cannot be started

Example

await locationSource.start();

stop()

stop(): Promise\<void>

Stop the location source and stop emitting updates

Returns

Promise\<void>

Example

await locationSource.stop();