یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دوره‌ها

استفاده از تخفیف‌ها
ثانیه
دقیقه
ساعت
روز
کمال
7 سال پیش توسط کمال مطرح شد
3 پاسخ

پیدا کردن راننده در شعاع 2 کیلومتری

سلام دوستان
من با استفاده از دستور ajax لیست تمامی رانندگان را میگیرم و داخل صفحه با مارکر روی نقشه نشونشون میدم
اما حالا میخوام بگم پین مبدا من هر جا بود فقط تا شعاع دو کیلومتری راننده ها را نشون بده
عین اسنپ که هر منظقه ای که میری فقط راننده های همون منظقه رو نشون میده
حالا باید چیکار کنم ؟
البته راه حل ها رو تئوری بلدم ولی چون جاوااسکریپتم قوی نیست نمیتونم پیاده سازی کنیم
کسی کدی میتونه کمک کنه ؟
با تشکر


ثبت پرسش جدید
Manoochehr Mojgani
@mmojgani77 7 سال پیش مطرح شد
1

باید point لوکیشن طرف رو بگیری و با تمام ماشین های اطرافش با استفاده از رابطه فیثاغورسی که بین فاصله مبدا و مقصد میبندی یه rate که میشه وتر مثلث به دست بیاری
بعد ببینی نسبت به scale نقشه چه عددی کمتر از ۲ کیلومتره و با یه tolerance حساب کنی
البته خیلی دقیق نیست چون کوچه ها ، خیابون ها و ... رو حساب نمیکنه فقط یک خط صاف از مبدا تا ماشین رو میگیره
@tabeshr


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

خودم پیداش کردم
گفتم با دوستان به اشتراک بذارم

<script>
    var markers = [];
    var distance = [];
    var currentMarker;
    window.onload = function () {
        google.maps.event.addListener(map, 'center_changed', function () {

            for (var i = 0; i < markers.length; i++) {
                markers[i].setMap(null);
            }
            $.ajax({
                url: 'http://localhost:8000/showDriver',
                data: '',
                success: function (json) {
                    data = jQuery.parseJSON(json);
                    $.each(data, function (key, job) {

                        distance = google.maps.geometry.spherical.computeDistanceBetween(new google.maps.LatLng(map.getCenter().lat(), map.getCenter().lng()), new google.maps.LatLng(job.latitude, job.longitude));
                        if (distance < 2000) {
                            currentMarker = new google.maps.Marker({
                                position: new google.maps.LatLng(job.latitude, job.longitude),
                                map: map,
                                icon: 'https://web.taxi133app.com/images/pin6.png'
                            });
                            markers.push(currentMarker);
                        }

                    })
                }
            });

        });
    }

</script>

مهدی طهرانی
تخصص : cloud architect
@mtehrani 7 سال پیش مطرح شد
1

من به دوستانی که میخوان با نقشه کار کنن قویا توصیه میکنم به جای استفاده از google maps از osm برای سرور نقشه و از leaflet برای کلاینت جاوااسکریپتی استفاده کنن


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

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