grabOverlayOfflineData static method
Grab latest overlay offline data over all existing offline maps area
Parameters
* **IN** *uid* The overlay uid
- onComplete Will be invoked when the overlay grabbing operation is completed, providing the error code.
- Will call with error code GemError.success on success
- Will call with error code GemError.activation if the overlay offline data grabber is not enabled on overlay uid
Returns
- Associated TaskHandler for this operation if the overlay offline data grabbing can be started otherwise null.
Implementation
static TaskHandler? grabOverlayOfflineData({
required final int uid,
required final void Function(GemError error) onComplete,
}) {
final EventDrivenProgressListener progListener =
EventDrivenProgressListener();
progListener.registerOnCompleteWithData((
final int err,
final String hint,
final Map<dynamic, dynamic> json,
) {
GemKitPlatform.instance.unregisterEventHandler(progListener.id);
onComplete(GemErrorExtension.fromCode(err));
});
GemKitPlatform.instance.registerEventHandler(progListener.id, progListener);
final OperationResult resultString = staticMethod(
'OverlayService',
'grabOverlayOfflineData',
args: <String, dynamic>{
'uid': uid,
'listener': progListener.id,
},
);
final GemError errorCode =
GemErrorExtension.fromCode(resultString['result']);
if (errorCode != GemError.success) {
GemKitPlatform.instance.unregisterEventHandler(progListener.id);
onComplete(errorCode);
return null;
}
return TaskHandlerImpl(progListener.id);
}