mramadan18 جميل بالتوفيق لك في إتمام التطبيق ننتظر مشاركته معنا
ما لغة البرمجة التي تستخدمها في برنامجك؟ وهل تريد الحسابات محلية أم باستخدام API خارجي
تحديد هذين الخيارين يساعد في ترشيح المكتبات أو الطرق المناسبة بدقة لأن بعض المكتبات تعمل بدون إنترنت بالحسابات الفلكية، والأخرى تعتمد على خدمات جاهزة عبر الإنترنت.
مثلًا إذا كنت تستخدم بايثون هناك عدة مكتبات يمكن أن تفيدك ستحتاج لتمرر لها خط الطول والعرض والمنطقة الزمنية لتعمل بشكل صحيح
مثلًا مكتبة pyIslam تحسب لك أوقات الصلاة واتجاه القبلة محليًا في البرنامج، تمرر الموقع لدالة الحساب فيها من خلال تمرير خط العرض وخط الطول والتاريخ لتقوم بحساب أوقات الصلاة وفقها.
لكن يجب الانتباه لجزئية بالنسبة لتطبيق سطح المكتب مقارنة بالجوالات فعلى الجوال يمكنك استخدام واجهة GPS مباشرة لأنه يملك حساسات فعلية وتطلب إذن من المستخدم لكن على أجهزة الكمبيوتر هذا غير متوفر افتراضيًا لمعظم الأجهزة لذا قد يتطلب منك تنفيذ ذلك خدمات أو مكتبات خاصة على Windows أو ربط مع خوادم خارجية.
يمكن مثلًا استخدام خدمة IP Geolocation للحصول على الإحداثيات.. يعني عليك أن تستخدم عنوان الـ IP الخاص بالمستخدم وترسل طلبًا إلى خدمة IP Geolocation لترجع الإحداثيات الجغرافية (هذه الطريقة تقدير موقع المستخدم تقريبيًا من الـ IP فالنتائج قد لا تكون دقيقة)
بعدها تمرر الإحداثيات مباشرة للدالة التي تحسب الأوقات وفقًا للموقع:
import geocoder
# نحصل على موقع المستخدم بناء على IP
g = geocoder.ip('me')
if g.latlng:
latitude, longitude = g.latlng
print("Latitude:", latitude)
print("Longitude:", longitude)
else:
print ("عذرًا لم نتمكن من تحديد موقعك")