matin
7 سال پیش توسط matin مطرح شد
3 پاسخ

پیدا کردن موقعیت جغرافیایی کاربران بر اساس یک موقعیت جغرافیایی ثابت یا متحرک در یک شعاع تعریف شده

چجوری میتونم بر اساس موقعیت جغرافیایی یه نود(کاربر)،تو یه شعاع ثابتی هر چی نود هستش رو برگردونم؟
مثلا فاصله 1k باشه و تو این فاصله هر چی نود هست رو بهم بده!


ثبت پرسش جدید
کمال
تخصص : برنامه نویس ارشد وب
@kamalj 7 سال پیش آپدیت شد
1

شما میتونید با این تابع فاصله همه کاربران تا این کاربر را بدست بیاورید و بعد بگید اگر فاصله کمتر از 1000 متر بود بمن نشون بده

 private function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2, $id)
    {

        $theta = $longitude1 - $longitude2;

        $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));

        $miles = acos($miles);

        $miles = rad2deg($miles);

        $miles = $miles * 60 * 1.1515;

        $feet = $miles * 5280;

        $yards = $feet / 3;

        $kilometers = $miles * 1.609344;

        $meters = $kilometers * 1000;
        $id = $id;

        // return compact('miles', 'feet', 'yards', 'kilometers', 'meters');
        return compact('meters', 'id');

    }

matin
@matin.kh73 7 سال پیش مطرح شد
0

با این تابع یعنی دیگه نیازی به کوئری زدن ندارن دیگه، درسته؟
بعد اینکه برای چک کردن اون شرط باید meters رو چک کنیم دیگه؟


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

بله دیگه درسته همه چیزش


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

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