parseWKBPoint function
Implementation
LatLng parseWKBPoint(String wkbString) {
// Convert the hex string to bytes
final bytes = Uint8List.fromList(
List<int>.generate(
wkbString.length ~/ 2,
(index) => int.parse(
wkbString.substring(index * 2, index * 2 + 2),
radix: 16,
),
),
);
final byteData = bytes.buffer.asByteData();
// Assuming little endian byte order
final isLittleEndian = byteData.getUint8(0) == 1;
// Skip the first 5 bytes (1 for byte order, 4 for type indicator)
final lon = byteData.getFloat64(
5,
isLittleEndian ? Endian.little : Endian.big,
);
final lat = byteData.getFloat64(
13,
isLittleEndian ? Endian.little : Endian.big,
);
return LatLng(lat, lon);
}