* *Option 3:* `feat: add tourist landmarks support with UI sheets, data models
203 lines
9.6 KiB
Dart
203 lines
9.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:maplibre_gl/maplibre_gl.dart';
|
|
import 'place_model.dart';
|
|
|
|
class TouristLandmark {
|
|
final String id;
|
|
final String nameAr;
|
|
final String nameEn;
|
|
final String category; // heritage, nature, religious, adventure, coastal
|
|
final String categoryAr;
|
|
final String description;
|
|
final double latitude;
|
|
final double longitude;
|
|
final double elevationMeters;
|
|
final String bestTimeToVisit;
|
|
final String tag;
|
|
final IconData iconData;
|
|
final Color accentColor;
|
|
|
|
const TouristLandmark({
|
|
required this.id,
|
|
required this.nameAr,
|
|
required this.nameEn,
|
|
required this.category,
|
|
required this.categoryAr,
|
|
required this.description,
|
|
required this.latitude,
|
|
required this.longitude,
|
|
required this.elevationMeters,
|
|
required this.bestTimeToVisit,
|
|
required this.tag,
|
|
required this.iconData,
|
|
required this.accentColor,
|
|
});
|
|
|
|
LatLng get coordinates => LatLng(latitude, longitude);
|
|
|
|
PlaceModel toPlaceModel() {
|
|
return PlaceModel(
|
|
id: id,
|
|
name: nameAr,
|
|
category: category,
|
|
latitude: latitude,
|
|
longitude: longitude,
|
|
elevationMeters: elevationMeters,
|
|
address: '$categoryAr • $tag',
|
|
);
|
|
}
|
|
|
|
static const List<TouristLandmark> curatedJordanLandmarks = [
|
|
TouristLandmark(
|
|
id: 'tourist_petra',
|
|
nameAr: 'البتراء (المدينة الوردية)',
|
|
nameEn: 'Petra',
|
|
category: 'heritage',
|
|
categoryAr: 'عجائب الدنيا السبع والتراث العالمي',
|
|
description: 'عاصمة مملكة الأنباط المنحوتة في الصخور الجبلية الوردية، تضم الخزنة والسيق والدير، وتعد من أعظم التحف المعمارية في التاريخ الإنساني.',
|
|
latitude: 30.3285,
|
|
longitude: 35.4444,
|
|
elevationMeters: 885.0,
|
|
bestTimeToVisit: 'الصباح الباكر أو عند الغروب الذهبي',
|
|
tag: 'عجائب الدنيا السبع • UNESCO',
|
|
iconData: Icons.castle_rounded,
|
|
accentColor: Color(0xFFD97706),
|
|
),
|
|
TouristLandmark(
|
|
id: 'tourist_wadi_rum',
|
|
nameAr: 'وادي رم (وادي القمر)',
|
|
nameEn: 'Wadi Rum',
|
|
category: 'adventure',
|
|
categoryAr: 'صحراء تكتيكية وجبال جرانيتية',
|
|
description: 'أودية صحراوية شاهقة وجبال صخرية ترتفع لأكثر من 1700 متر، مشهورة بالرمال الحمراء والتخييم الفلكي ومسارات السفاري والمغامرات.',
|
|
latitude: 29.5734,
|
|
longitude: 35.4210,
|
|
elevationMeters: 1050.0,
|
|
bestTimeToVisit: 'مساءً للتخييم الفلكي ومشاهدة النجوم',
|
|
tag: 'تراث عالمي • سياحة فلكية ومغامرات',
|
|
iconData: Icons.landscape_rounded,
|
|
accentColor: Color(0xFFEA580C),
|
|
),
|
|
TouristLandmark(
|
|
id: 'tourist_dead_sea',
|
|
nameAr: 'البحر الميت والموجب',
|
|
nameEn: 'Dead Sea & Mujib Canyon',
|
|
category: 'nature',
|
|
categoryAr: 'أخفض نقطة على وجه الأرض',
|
|
description: 'أخفض مسطح مائي في العالم بانخفاض 430 متراً تحت سطح البحر، مياهه الغنية بالأملاح المعدنية ومضيق وادي الموجب المائي للمغامرات المائية.',
|
|
latitude: 31.5085,
|
|
longitude: 35.5684,
|
|
elevationMeters: -430.0,
|
|
bestTimeToVisit: 'أشهر الشتاء والربيع (مناخ دافئ)',
|
|
tag: 'أخفض نقطة في العالم • علاج طبيعي',
|
|
iconData: Icons.waves_rounded,
|
|
accentColor: Color(0xFF0284C7),
|
|
),
|
|
TouristLandmark(
|
|
id: 'tourist_jerash',
|
|
nameAr: 'مدينة جرش الأثرية (بومبي الشرق)',
|
|
nameEn: 'Jerash Roman Ruins',
|
|
category: 'heritage',
|
|
categoryAr: 'أعظم المدن الرومانية المحفوظة',
|
|
description: 'إحدى مدن حلف الديكابوليس الروماني، تضم شارع الأعمدة، المسرح الجنوبي، معبد أرتميس، وساحة الندوة البيضاوية الفريدة من نوعها.',
|
|
latitude: 32.2811,
|
|
longitude: 35.8917,
|
|
elevationMeters: 590.0,
|
|
bestTimeToVisit: 'فترة الصباح والظهيرة المعتدلة',
|
|
tag: 'حضارة رومانية • شارع الأعمدة',
|
|
iconData: Icons.account_balance_rounded,
|
|
accentColor: Color(0xFFB45309),
|
|
),
|
|
TouristLandmark(
|
|
id: 'tourist_amman_citadel',
|
|
nameAr: 'جبل القلعة والمدرج الروماني (عمان)',
|
|
nameEn: 'Amman Citadel & Roman Theatre',
|
|
category: 'heritage',
|
|
categoryAr: 'قلب العاصمة التاريخي وتراث العمونيين',
|
|
description: 'موقع يروي تاريخ الحضارات العمونية واليونانية والرومانية والأموية، يطل على جبال عمان القديمة مع معبد هرقل والقصر الأموي المهيب.',
|
|
latitude: 31.9547,
|
|
longitude: 35.9352,
|
|
elevationMeters: 850.0,
|
|
bestTimeToVisit: 'قبل الغروب لإطلالة بانورامية على عمان',
|
|
tag: 'معبد هرقل • القصر الأموي',
|
|
iconData: Icons.fort_rounded,
|
|
accentColor: Color(0xFF4F46E5),
|
|
),
|
|
TouristLandmark(
|
|
id: 'tourist_ajloun_castle',
|
|
nameAr: 'قلعة عجلون (حصن صلاح الدين)',
|
|
nameEn: 'Ajloun Castle',
|
|
category: 'heritage',
|
|
categoryAr: 'قلاع العصور الوسطى وغابات الشمال',
|
|
description: 'حصن بناه القائد عز الدين أسامة أحد قادة صلاح الدين الأيوبي عام 1184م لمراقبة طرق التجارة وحماية مناجم الحديد في جبال عجلون.',
|
|
latitude: 32.3251,
|
|
longitude: 35.7275,
|
|
elevationMeters: 1023.0,
|
|
bestTimeToVisit: 'فصل الربيع بين غابات البلوط والصنوبر',
|
|
tag: 'تاريخ إسلامي • إطلالة وادي الأردن',
|
|
iconData: Icons.shield_rounded,
|
|
accentColor: Color(0xFF15803D),
|
|
),
|
|
TouristLandmark(
|
|
id: 'tourist_mount_nebo',
|
|
nameAr: 'جبل نيبو ومادبا (مدينة الفسيفساء)',
|
|
nameEn: 'Mount Nebo & Madaba',
|
|
category: 'religious',
|
|
categoryAr: 'موقع تاريخي وديني وإطلالة مقدسة',
|
|
description: 'موقع ذو مكانة تاريخية وروحية كبرى، يطل على وادي الأردن والقدس والبحر الميت، ومادبا الشهيرة بأقدم خارطة فسيفسائية للأراضي المقدسة.',
|
|
latitude: 31.7683,
|
|
longitude: 35.7253,
|
|
elevationMeters: 817.0,
|
|
bestTimeToVisit: 'الأيام الصافية لرؤية أفق القدس والضفة',
|
|
tag: 'فسيفساء بيزنطية • إطلالة بانورامية',
|
|
iconData: Icons.church_rounded,
|
|
accentColor: Color(0xFF9333EA),
|
|
),
|
|
TouristLandmark(
|
|
id: 'tourist_umm_qais',
|
|
nameAr: 'أم قيس (جدارا الأثرية)',
|
|
nameEn: 'Umm Qais (Gadara)',
|
|
category: 'heritage',
|
|
categoryAr: 'شرفة الشمال وإطلالة طبريا والجولان',
|
|
description: 'مدينة الفلاسفة القديمة المشيدة بالحجارة البازلتية السوداء، تطل على بحيرة طبريا، نهر اليرموك، وهضبة الجولان السورية في مشهد جغرافي ساحر.',
|
|
latitude: 32.6534,
|
|
longitude: 35.6847,
|
|
elevationMeters: 378.0,
|
|
bestTimeToVisit: 'وقت المغيب لمشاهدة بحيرة طبريا',
|
|
tag: 'إطلالة ثلاثية الحدود • حجر بازلتي',
|
|
iconData: Icons.visibility_rounded,
|
|
accentColor: Color(0xFF0D9488),
|
|
),
|
|
TouristLandmark(
|
|
id: 'tourist_dana_biosphere',
|
|
nameAr: 'محمية ضانا للمحيط الحيوي',
|
|
nameEn: 'Dana Biosphere Reserve',
|
|
category: 'nature',
|
|
categoryAr: 'محمية جبلية وأودية طبيعية عذراء',
|
|
description: 'أكبر محمية طبيعية في الأردن، تمتد من قمم جبال القادسية بارتفاع 1500 متر نزولاً إلى وادي عربة، تضم تنوعاً نباتياً وحيوانياً فريداً ومسارات مشي.',
|
|
latitude: 30.6865,
|
|
longitude: 35.6120,
|
|
elevationMeters: 1250.0,
|
|
bestTimeToVisit: 'فصل الخريف والربيع للمسارات الجبلية',
|
|
tag: 'سياحة بيئية • مسارات مشي جبلية',
|
|
iconData: Icons.forest_rounded,
|
|
accentColor: Color(0xFF16A34A),
|
|
),
|
|
TouristLandmark(
|
|
id: 'tourist_aqaba',
|
|
nameAr: 'العقبة (خليج العقبة والشعب المرجانية)',
|
|
nameEn: 'Aqaba Red Sea Coast',
|
|
category: 'coastal',
|
|
categoryAr: 'عروس البحر الأحمر والرياضات البحرية',
|
|
description: 'المنفذ البحري الوحيد، شواطئ دافئة طوال العام، غوص بين الشعب المرجانية المحمية عالمياً، ومشاهدة الحياة البحرية الغنية.',
|
|
latitude: 29.5320,
|
|
longitude: 35.0063,
|
|
elevationMeters: 10.0,
|
|
bestTimeToVisit: 'طوال العام، ومثالية في فصلي الخريف والشتاء',
|
|
tag: 'غوص وشواطئ • شمس دافئة',
|
|
iconData: Icons.sailing_rounded,
|
|
accentColor: Color(0xFF0284C7),
|
|
),
|
|
];
|
|
}
|