حسین ستاری
3 سال پیش توسط حسین ستاری مطرح شد
18 پاسخ

برسی مختصات

سلام ، پروژه ای در پیش رو دارم و ماهیتش اینطوره که وقتی دو نفر بهم رسیدن یه رویدادی اجرا بشه و این اتفاق باید با مختصاتی که از لوکیشن ارسال میشه انجام بشه ، سوالم اینه که برسی این مورد چطور امکان پذیره؟

@samanzdev
@endworld
@ehsndvr
@alarus7
@mhyeganeh
@milad
@mohammadphp
@Nima.nori
@spaceman
@spaceman
@hosseinshirinegad98


ثبت پرسش جدید
احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
0

@Ho3ein سلام به شما.
یک جواب خیلی خوب پیدا کردم براتون.
این لینک.
ایشون هم دقیقا مثل شما میخوان افراد نزدیک به هم رو پیدا بکنن که یک بنده خدایی یک جواب خیلی کاملی رو نوشته.


b.nik
تخصص : آزاد
@b.nik 3 سال پیش مطرح شد
0

من دقيقا سوالتونو نفهميدم ميشه واضح تر توضيح بديد؟


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

عزیز من در این مورد بیسوادم


احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
1

با سلام خدمت شما.
بنده فکر میکنم منطق کار باید به این صورت باشه که شما 2 تا نقطه یا 2 تا هدف روی نقشه دارید ، هر 1 ثانیه یا کمتر مختصات نقاط به سرور ارسال میشن ، با استفاده از مختصات بدست اومده شما میتونید فاصله 2 نقطه از هم رو روی نقشه پیدا کنید ، یعنی از دستگاه اول چنتا مقدار برای شما میاد ، مثلا اینکه متخصاتش کجاست و هدف اون دستگاه کیه/چیه (که میشه نقطه دوم) این مقادیر به API ارسال میشن و اون API مقادیر رو به دستگاه دوم میفرسته و این روند انقدر ادامه پیدا میکنه تا وقتی نزدیک به هم شدن یک مثلا پیام برای 2 دستگاه ارسال بشه.
مثل کاری که اسنپ انجام میده ، بنده تا حالا از اسنپ استفاده نکردم اما فکر میکنم شما میتونید مسیر حرکت ماشین رو روی نقشه ببینید، اونم یه همچین قائده ایی داره ، حالا مثلا فرض کنیم به جای یک ماشین ، 2 تا ماشین روی نقشه هستن و دارن مسیر های هم دیگه رو میبینن که به هم نزدیک میشن.
دقیقا مطمئن نیستم که منطق بنده درسته یا نه و باید از یه کسی سوال بکنم اما حس میکنم همینه.
امیدوارم مفید بوده باشه.


حسین ستاری
تخصص : برنامه نویس
@Ho3ein 3 سال پیش مطرح شد
0

@spaceman ببین فرض کن یه تعداد نامعلومی کاربر هستن که ثبت نام کردند و لوکیشنشون رو در اختیار اپ گذاشتن و اپ وظیفه داره تا برسی که کنه این افراد هر موقع که از نظر موقعیت مکانی کنار همدیگه قرار گرفتن یه رویدادی رو اجرا کنه مثلا صدای بوق رو برای اون دوکاربر پخش کنه سوال من اینه چطور این برسی که ایا کنار هم دیگه هستن رو انجام بدم


b.nik
تخصص : آزاد
@b.nik 3 سال پیش مطرح شد
0

آها
خيلی پيچيدست
كار از من بهترونه 😂


حسین ستاری
تخصص : برنامه نویس
@Ho3ein 3 سال پیش مطرح شد
0

@ehsndvr
شما نظری نداری؟


احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
0

@Ho3ein ببینید فکر نکنم این موضوع رو بشه اینجا توضیح داد و اینکه صوتی خیلی راحت تره ، لطف کنید به تلگرام بنده پیام بدید.
آیدی : ehsndvr
اگر نتونستید هیچ اشکالی نداره ، بنده امشب یا فردا صبح سعی میکنم براتون کامل توضیحات رو بنویسم.


احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
2

برای اینکه منطق کار رو بهتون توضیح بدم یک مثال میزنم ، همین بخش پرسش و پاسخ رو فرض کنید ، کاربران وقتی پیام میدن پیامشون توی سیستم ثبت میشه و شما وقتی وارد بخش پرسش و پاسخ میشید میتونید پاسخ افراد رو ببینید ، حالا اگه کسی شما رو مخاطب قرار بده در جایی ، سریع بات تلگرام برای شما پیامی میفرسته و میگه کسی شما رو مخاطب قرار داده.
حالا همین منطق رو بیارید توی کاری که شما میخواید انجام بدید ، هر یک ثانیه مختصات کاربران به سرور ارسال میشه و شما اونارو دارید ، حالا بررسی میکنید که کدوم مختصات به مختصات کاربر x نزدیک تره و این عمل باید برای تمامی کاربران اعمال بشه ، مسئله ایی که پیش میاد ذخیره مختصات در پایگاه داده هست که اون باید بررسی بشه ، کار شما آسون میشد اگر فقط 2 تا نقطه روی نقشه میخواستن بهم برسن ، مثل اسنپ که یک نقطه میخواد به یک نقطه دیگه برسه ، اما کار شما یکم پیچیده تره ، یعنی چندین تا نقطه روی نقشه هست و باید تمامی نقاط نسبت به سایر نقاط دیگه بررسی بشن ،بنده باید پرس و جو بکنم ببینم منطقم درسته یا نه ، چون منطق اینکار خیلی خیلی مهمه.


احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش آپدیت شد
0

@samanzdev
@endworld
@alarus7
@mhyeganeh
@milad
@mohammadphp
@Nima.nori
@spaceman
@spaceman
@hosseinshirinegad98
دوستان به نظرتون پاسخ بنده منطقی هست ؟ شما نظری ندارید ؟


b.nik
تخصص : آزاد
@b.nik 3 سال پیش مطرح شد
0

@ehsndvr
رای مثبتو دادم بهتون


احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
0

@spaceman خیلی ممنون از شما 🌹


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش آپدیت شد
0

اول باید با یه کدی مثل این

 <script>
var x = document.getElementById("demo");
function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}

function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude +
  "<br>Longitude: " + position.coords.longitude;
}
</script> 

لوکیشن کاربر رو بگیرین و توی یک دیتا بیس realtime ثبت کنید و هر چند ثانیه اپدیتیش هم کنید
بعد هم از اونور توی سرور هعی باید کوعری بزنید با دستور group by لوکیشن های برابر رو بگیرین
بعد به اون دستگاه هایی که لوکیشن برابر دارند باید با API یا هر چیز دیگه اطلاع بدین
سمت فرانت اند هم باید اون کاری می خواهید مثل بوق زدن رو اجرا کنید
در کل این مراحل به سرور خیلی فشار میاره خیلی خیلی بخاطر همین پیشنهادش نمی کنم


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش مطرح شد
0

@ehsndvr بله کاملا درست می فرمایید
@Ho3ein حالا برای چی همچین چیز پیچیده ای رو می خوای در بیاری منظور ایده ی سایت یا اپ چیه په استفاده ای داره و...
راستی بنظرم برای همچین اپی استفاده از اپ های نیتیو خیلی بهتره تا سایت


Saman
تخصص : برنامه نویس وب
@samanzdev 3 سال پیش مطرح شد
0

سلام
امیدوارم درست متوجه شده باشم.
در واقع شما می خوایید مختصات هر کاربر رو به دست بیارید بعدش هر کاربری که به هم نزدیک هستن، مثلا بهشون یه پيامی بدید.
اگه اینطور باشه شما می تونید مختصات هر کاربر رو بدست بیارید و بعدش داخل دیتابیس ذخیره کنید و یه نکته ای هم هست ممکنه کاربر یک مختصات ثابت نداشته باشه و شما باید آخرین متخصات کاربر رو ذخیره کنید و بعدش چک کنید که کدام دو کاربر به هم نزدیک هستن.
امیدوارم درست راهنمایی کرده باشم.


حسین ستاری
تخصص : برنامه نویس
@Ho3ein 3 سال پیش مطرح شد
0

@Nima.nori
ایده اش برای من نیست مربوط به شهرداری میشه و سمت فرانتش همینطوره فقط بک اندش لاراوله


حسین ستاری
تخصص : برنامه نویس
@Ho3ein 3 سال پیش مطرح شد
0

این روشی که فرمودید درسته اما فشار بسیار زیادی به سرور وارد میشه روش دیگری مد نظر ندارین؟
@samanzdev


Saman
تخصص : برنامه نویس وب
@samanzdev 3 سال پیش مطرح شد
0

می تونید از دیتابیس MongoDB استفاده کنید.
یه راه حل دیگه ای هم هست می تونید هر بار متخصات رو ذخیره نکنید مثلا کاربری برای بار اول با مختصات 50 ذخیره کردید برای بار دوم می تونید به شکلی ذخیره کنید که اگه بیشتر از 100 شد دوباره اون ردیف رو آپدیت کنید.
مثلا 100 تا 100 تا ذخیره کنید.


احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
0

@Ho3ein سلام به شما.
یک جواب خیلی خوب پیدا کردم براتون.
این لینک.
ایشون هم دقیقا مثل شما میخوان افراد نزدیک به هم رو پیدا بکنن که یک بنده خدایی یک جواب خیلی کاملی رو نوشته.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام