addPositionListener static method
- void positionUpdatedCallback(
- GemPosition position
Registers a callback to receive raw position updates from the active data source.
The provided callback is invoked whenever a new raw GemPosition is available from the configured position data source (live GPS or an external source). The returned GemPositionListener can be passed to removeListener to stop receiving updates.
Parameters
positionUpdatedCallback: Callback invoked with the latest GemPosition.
Returns
- The registered GemPositionListener which can be used to unregister.
Also see:
- addImprovedPositionListener - For receiving map-matched position updates.
- removeListener - To unregister a previously registered listener.
- GemPosition - The raw position data object.
Implementation
static GemPositionListener addPositionListener(
final void Function(GemPosition position) positionUpdatedCallback,
) {
final GemPositionListenerImpl posListener = GemPositionListenerImpl(
onNewPosition: positionUpdatedCallback,
);
final String result = GemKitPlatform.instance
.callObjectMethod(<String, Object>{
'id': 0,
'class': 'PositionService',
'method': 'registerSenseDataListener',
'senseDataType': DataType.position.id,
});
posListener.id = jsonDecode(result)['result'];
GemKitPlatform.instance.registerEventHandler(posListener.id, posListener);
return posListener;
}