مشاركة المواقع باستحدام Place Picker
يوجد العديد من التطبيقات التي تحتوي على ميزة مشاركة المواقع القريبة من المستخدم ولعل اكبر مثال على ذلك هو تطبيق واتس اب فهو يستخدم تقريباً نفس الفكرة المقدمة من قوقل وهي Place Picke وتتيح لك هذه الميزة السرعة في تحديد الاماكن القريبة من المستخدم بدون استخدام تقنيات مثل NearBy والتعقيدات واستهدام الخرايط .
في هذا الدرس ستتعرف على طريقة مشاركة الاماكن بشكل سريع واسطر قليله جداً.
بداية كل بداية في استخدام خدمات قوقل هو الحصول على API KEY .
الحصول على API KEY :
ادخل الى هذه الرابط https://console.developers.google.com ثم قم باتباع الشرح الموجود اسفل الفيديو :
الحصول على SHA1
اضافة خدمات قوقل للتطبيق :
في ملف gradel.bulide قم بكتابة هذا السطر المضلل :
dependencies {
compile 'com.google.android.gms:play-services-location:8.4.0'
}
الان الانتقال الى Activity :
قم باضافة Button او اي شئ تريد من المستخدم اذا قام بالضغط عليه ان يقوم بنقله الى شاشة اختيار مكان قريب، وفي امر الضغط لهذا Button نقوم بكتابة هذا السطرين :
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try {
startActivityForResult(builder.build(MainActivity.this), PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
الان اذا قام المستخدم بالضغط على Button سيتم نقله الى شاشة اختيار مكان قريب .
لكن الان كيف اقوم باعادة النتائج اذا قام المستخدم بالاختيار .
اعادة النتائج :
نحتاج الان اضافة دالة onActivityresult() لاعادة البيانات التي قام المستخدم باختيارها .
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == RESULT_OK) {
Place place = PlacePicker.getPlace(data, this);
String place_name = String.format(getString(R.string.place_name), place.getName());
String place_addrress = String.format(getString(R.string.place_adress), place.getAddress());
name.setText(place_name);
address.setText(place_addrress);
}
}
}
عند اعادة النتائج سنلاحظ استخدامنا لـPlace حيث سيحتوي على جميع بيانات الموقع:
Place place = PlacePicker.getPlace(data, this);
اهم البيانات التي يحتوي عليها Opject Place :
الدالة | وظيفتها |
---|---|
getId | اعادة رقم الموقع وهو رقم فريد |
getLatLng | اعادة خطوط الطول والعرض للموقع الحالي |
getName | اعادة اسم الموقع الحالي |
getPhoneNumber | اعادة رقم الهاتف للموقع الحالي اذا كام متوفر |
getPlaceTypes | اعادة نوع الموقع "مطعم او صراف .. الخ" |
النتيجة النهائية :
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !