راکت

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

3 پاسخ

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

کمال
کمال
@kamalj
ثبت پرسش جدید

پاسخ‌ها

3
Manoochehr Mojgani
Manoochehr Mojgani
@mmojgani77

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

کمال
کمال
@kamalj

تخصص: برنامه نویس ارشد وب

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

<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>

شاید پاسخ شما همین‌جا باشد

مهدی طهرانی
مهدی طهرانی
@mtehrani

تخصص: cloud architect

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

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

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