MiniProgramMapDestination.fromJson constructor

MiniProgramMapDestination.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory MiniProgramMapDestination.fromJson(Map<String, dynamic> json) {
  const keys = {
    'latitude',
    'longitude',
    'name',
    'address',
    'coordinateSystem',
  };
  if (json.keys.any((key) => !keys.contains(key))) {
    throw const FormatException('Unknown map destination property.');
  }
  final system = json['coordinateSystem'] ?? 'wgs84';
  if (!MiniProgramMapCoordinateSystem.values.any((v) => v.name == system)) {
    throw const FormatException('Unknown map coordinate system.');
  }
  return MiniProgramMapDestination(
    latitude: validateCoordinate(json['latitude'], latitude: true),
    longitude: validateCoordinate(json['longitude'], latitude: false),
    name: validateText(json['name']),
    address: validateText(json['address'] ?? '', address: true),
    coordinateSystem: MiniProgramMapCoordinateSystem.values.byName(
      system as String,
    ),
  );
}