addPositionListener static method

GemPositionListener addPositionListener(
  1. void positionUpdatedCallback(
    1. 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

Also see:

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;
}