set method
Future<StaticPositionId>
set(
- List<
GeoPoint> positions, { - StaticPositionId? groupId,
- Uint8List? iconBytes,
Creates or replaces a static-position group in one native command.
Implementation
Future<StaticPositionId> set(
List<GeoPoint> positions, {
StaticPositionId? groupId,
Uint8List? iconBytes,
}) async {
if (positions.isEmpty) {
throw _argumentException(
_controller,
'setStaticPositions',
'empty_positions',
);
}
if (iconBytes?.isEmpty ?? false) {
throw _argumentException(_controller, 'setStaticPositions', 'empty_icon');
}
final id = groupId ?? _controller._nextStaticPositionId();
final wasIssued = _issuedIds.contains(id);
_issuedIds.add(id);
try {
final transport = await _controller._readyTransport();
await transport.setStaticPositions(
id,
List<GeoPoint>.unmodifiable(positions),
iconBytes: iconBytes,
);
return id;
} catch (_) {
if (!wasIssued) _issuedIds.remove(id);
rethrow;
}
}