33 lines
892 B
Dart
33 lines
892 B
Dart
import 'package:equatable/equatable.dart';
|
|
import 'package:intaleq_maps/intaleq_maps.dart';
|
|
|
|
/// باب/مدخل مكان — من استجابة انطلق.
|
|
class Gate extends Equatable {
|
|
final String nameAr;
|
|
final String nameEn;
|
|
final double lat;
|
|
final double lng;
|
|
final bool isMainGate;
|
|
|
|
const Gate({
|
|
required this.nameAr,
|
|
required this.nameEn,
|
|
required this.lat,
|
|
required this.lng,
|
|
this.isMainGate = false,
|
|
});
|
|
|
|
factory Gate.fromJson(Map<String, dynamic> j) => Gate(
|
|
nameAr: (j['name_ar'] ?? '') as String,
|
|
nameEn: (j['name_en'] ?? '') as String,
|
|
lat: (j['latitude'] as num).toDouble(),
|
|
lng: (j['longitude'] as num).toDouble(),
|
|
isMainGate: j['is_main_gate'] as bool? ?? false,
|
|
);
|
|
|
|
LatLng get latLng => LatLng(lat, lng);
|
|
|
|
@override
|
|
List<Object?> get props => [nameAr, nameEn, lat, lng, isMainGate];
|
|
}
|