القائمة الرئيسية

الصفحات

التعامل مع Map #8 : كيفية الحصول على عنوان الموقع من firebase وتحديده على خرائط جوجل بواسطة برنامج اندرويد ستوديو .

 

كيفية الحصول على عنوان الموقع من firebase وتحديده على خرائط جوجل بواسطة برنامج اندرويد ستوديو .


كيفية الحصول على عنوان الموقع من firebase وتحديده على خرائط جوجل بواسطة برنامج اندرويد ستوديو .


في الدروس السابقه كنا نتعلم على كيفية تخزين بيانات المستخدم داخل firestore , وفي هذا الدرس سوف نتعرف على كيفية الحصول على البيانات من قواعد البيانات او firebase وكيف نظهرها على الخريطة وعمل لها marker اي علامه بسهوله فقط حاول ان تركز جيدا في هذا الدرس لانها بسيط ومهم .


عملية تصميم تطبيق اندرويد مجاني ليست صعبه وفي نفس الوقت ليست سهله فالبعض منكم يعتقد تطبيقات أندرويد صعبه ومعقده ولن يتمكن من النجاح في مجال تطوير تطبيقات اندرويد ولكن الامر عكس ذلك وانا كنت واحد منكم صراحة , ولذلك قمت بتاسيس موقع جي كودرس لتعليمكم كيفية تصميم تطبيق اندرويد مجاني وشروحات متنوعه وعديدة في البرمجة واثراء المحتوى العربي بالبرمجة وخاصة مجال تطبيقات أندرويد حيث يعد من اكثر المجالات التي عليها طلب كبير في سوق العمل .


مجال تطبيقات أندرويد واحد من اكبر المجالات التي يبحث عليها كل صاحب شركة تطوير تطبيقات الجوال لان تطوير تطبيقات الهواتف الذكية اصبح يحظى بنسبة كبيره من الاهتمام بسبب كثرة الاجهزة الذكية في الوقت الحالي وايضا تطبيقات أندرويد و تطبيقات الايفون اصبحت كثيرة وتوفر خدمات لنا كمستخدمين توفر علينا كثير من الوقت وهل قد سبق وان خطر ببالك فكرة تطوير تطبيقات الهواتف الذكية تحل مشكلة معينه لم تجد لها حل ؟ قد يكون هذا التطبيق الذي تفكر به واحد من انجح تطبيقات أندرويد ويجني عليك المال الوفير لذلك ابدء بتعلم البرمجة لتنفيذة .


كيفية جلب بيانات من Firebase وتتبعها في برنامج android studio


توجة الى اعلى الكود وعرف FirebaseFirestore , لكي تعمل خدمة الفاير ستور في هذة الاكتفتي واسفل onMapReady تحديدا بعد googleMap قم باستدعاء الميثود او الدالة التي سوف نقوم بإنشائها بعد قليل وهي  getserviceslocation(); .



قم اولا بتسجيل الدخول الى موقع firebase وبعدها قم بإنشاء collection باي اسم على سبيل المثال location_map وبداخله قم بعمل Document عباره عن ارقام مثل 1 واخرى 2 وهكذا قم بعمل العدد الذي ترغب به وبعدها قم بتسجيل lat و lng للموقع ويمكنك الحصول عليهم من خرائط جوجل وبعدها انتقل الى برنامج اندرويد ستوديو



قم بعمل class بسيط باسم ServicesLocation وبداخله private double lat,lng; وعمل لهم getter & setter و constructor واحد فارغ والاخرى به بيانات وعمل toString وبعده اغلقة .



نحن اقتربنا جدا من تطوير تطبيقات الاندرويد اندرويد ستوديو وعمل برنامج map و tracking لذلك يجب ان تفهم النقاط السابقة جيدا , عموما بعد الانتقال الى الاندرويد ستوديو قم بعمل دالة method جديده باسم getserviceslocation وبداخلها قم بالحصول على البيانات الموجوده في collection الذي قمت بإنشاءه في الفاير بيز وبعدها addSnapshotListener لتحصل على كل البيانات التي بداخله ومن ثم for لكي تجلب جميع البيانات بدون حدوث مشاكل .


Log لطباعة البيانات لدى مطور اندرويد ستوديو , LatLng وهي خاصة بالحصول على الموقع وجلبه على الخريطة , addMarker لوضع علامه على الموقع المحدد في الخريطة اثناء التشغيل , animateCamera لعمل تاثير الكاميرا وتحريكها نحو الهدف المحدد .



الكود السابق


private void getserviceslocation() {

firebaseFirestore.collection("location_map").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException error) {

for(DocumentSnapshot snapshot : queryDocumentSnapshots.getDocuments()) {
ServicesLocation servicesLocation = snapshot.toObject(ServicesLocation.class);
Log.i(TAG, "onEvent: " + servicesLocation);
LatLng latLng = new LatLng(servicesLocation.getLat(),servicesLocation.getLng());
                    mMap.addMarker(new MarkerOptions().position(latLng));
                    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng,17));
                }
            }
        });
    }
    


لمزيد من الشروحات حول تطوير تطبيقات الهواتف الذكية في برنامج اندرويد ستوديو تابع التالي




رابط المشروع كامل على جيت هب - github

التنقل السريع