addImprovedPositionListener static method
- void positionUpdatedCallback(
- GemImprovedPosition position
Registers a callback to receive improved position updates from the active data source.
The provided callback is invoked whenever a new improved GemImprovedPosition 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 GemImprovedPosition.
Returns
- The registered GemPositionListener which can be used to unregister.
Also see:
- addPositionListener - For receiving raw position updates.
- removeListener - To unregister a previously registered listener.
- GemImprovedPosition - The improved position data object.
Implementation
static GemPositionListener addImprovedPositionListener(
final void Function(GemImprovedPosition position) positionUpdatedCallback,
) {
final GemPositionListenerImpl posListener = GemPositionListenerImpl(
onNewImprovedPosition: positionUpdatedCallback,
);
final String result = GemKitPlatform.instance
.callObjectMethod(<String, Object>{
'id': 0,
'class': 'PositionService',
'method': 'registerSenseDataListener',
'senseDataType': DataType.improvedPosition.id,
});
posListener.id = jsonDecode(result)['result'];
GemKitPlatform.instance.registerEventHandler(posListener.id, posListener);
return posListener;
}