alikia
6 سال پیش توسط alikia مطرح شد
1 پاسخ

location distance

سلام . رو یک api دارم کار میکنم و سوالم این هستش که کاربر location خودش رو میفرسته و من باید با توجه به موقعیت کاربر یکسری مکان خاص رو که در شعاع ۵ کیلومتریش هست ریسپانس کنم به چه شکلی باید این رو محاسبه کنم ؟؟؟
(مکان هایی ثبت شده در دیتابیس دو مقدار lat , lng رو دارن)

البته از یک کد استفاده کردم ولی قابلیت paginate() رو بهم نمیده!!! چون سمت اندروید حتما باید این رو داشته باشم . ممنون میشم راهنمایی کنین

$result = DB::table('tbl_resturan')
->select(DB::raw(
",
( 6371
acos( cos( radians(" . $request->lat . ") )
cos( radians(tbl_resturan.locationLO) )

cos( radians(tbl_resturan.locationLA) - radians(" . $request->lng . ") ) +
sin( radians(" . $request->lat . ") ) *
sin( radians(tbl_resturan.locationLO) ) ) )
AS distance"
))
->having("distance", "<", $radius)
->orderby('distance','ASC')->get();


ثبت پرسش جدید
احمد جنگی
تخصص : برنامه نویس PHP
@ahmad.vb69 6 سال پیش مطرح شد
0

دوست عزیز به جای get() از paginate() استفاده کنین


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

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