حساب کردن هزینه پیک روی نقشه با لاراول

3 سال پیش توسط ali jvn. مطرح شد
آفلاین
user-avatar
ali jvn. ( 21178 تجربه )
3 سال پیش
تخصص : توسعه دهنده وب (back-end)

لینک کوتاه اشتراک گذاری

1

با سلام خدمت دوستان عزیز راکتی
من چند وقته دنبال راهی برای محاسبه ی قیمت پیک از روی نقشه میگردم مثل اسنپ فود
کسی میدونه توی لاراول پکیجی برای اینکار هست یا خیر؟
اگر کسی میتونه این کار رو پیاده سازی کنه و توضیح بده با من تماس بگیره هزینش هم متقبل میشم
ممنون

بهترین پاسخ
آفلاین
user-avatar
vahid Mohammadi
3 سال پیش

@alijavanmardi1996
بیبنید اگر اصرار دارید که حتما از یک پکیج استفاده کنید از پکیج زیر می تونید استفاده بفرمایید

https://github.com/bodunadebiyi/Laravel-Google-Geocoder

اما شما با استفاده از تابع زیر هم میتونید اینکارو انجام بدید

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'Km') {
     $theta = $longitude1 - $longitude2;
     $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
     $distance = acos($distance);
     $distance = rad2deg($distance);
     $distance = $distance * 60 * 1.1515; switch($unit) {
          case 'Mi': break; case 'Km' : $distance = $distance * 1.609344;
     }
     return (round($distance,2));
}

البته از API خود google map هم می تونید استفاده کنید

آفلاین
user-avatar
ali jvn. ( 21178 تجربه )
3 سال پیش
تخصص : توسعه دهنده وب (back-end)

لینک کوتاه اشتراک گذاری

0

@tabeshr
@hesammousavi
مهندسین عزیز شما میتونید راهنمایی کنید؟

آفلاین
user-avatar
vahid Mohammadi ( 37202 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

1

@alijavanmardi1996
بیبنید اگر اصرار دارید که حتما از یک پکیج استفاده کنید از پکیج زیر می تونید استفاده بفرمایید

https://github.com/bodunadebiyi/Laravel-Google-Geocoder

اما شما با استفاده از تابع زیر هم میتونید اینکارو انجام بدید

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'Km') {
     $theta = $longitude1 - $longitude2;
     $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
     $distance = acos($distance);
     $distance = rad2deg($distance);
     $distance = $distance * 60 * 1.1515; switch($unit) {
          case 'Mi': break; case 'Km' : $distance = $distance * 1.609344;
     }
     return (round($distance,2));
}

البته از API خود google map هم می تونید استفاده کنید

آفلاین
user-avatar
ali jvn. ( 21178 تجربه )
3 سال پیش
تخصص : توسعه دهنده وب (back-end)

لینک کوتاه اشتراک گذاری

0

@viva.mohammadi
ممنون از راهنماییت مهندس
فقط یه چیزی اگر بخوام مثل اسنپ روی نقشه به صورت منطقه ای قیمت بدم چکار باید بکنم؟

آفلاین
user-avatar
vahid Mohammadi ( 37202 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

@alijavanmardi1996
خواهش میکنم
اسنپ بعد از تحریم های گوگل مپ از سرویس نقشه زیر داره استفاده میکنه. شما می تونید راهنمای اون رو مطالعه بفرمایید

http://corp.map.ir/
آفلاین
user-avatar
ali jvn. ( 21178 تجربه )
3 سال پیش
تخصص : توسعه دهنده وب (back-end)

لینک کوتاه اشتراک گذاری

0

خیلی ممنون از راهنماییت دوست عزیز

آفلاین
user-avatar
arazsalmasi ( 12367 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

سلام مهندس
@viva.mohammadi
تو تابعی که گفتید نتیجه ای که برگشت داده میشه چیه؟عدد فاصله به کیلومتر هست؟
چون کیلو متر باشه من با مپ چک کردم جایی که مثلا یه کیلومتر فاصله داره رو 3 کیلومتر میگه
خیلی ممنون میشم کمک کنید

آفلاین
user-avatar
vahid Mohammadi ( 37202 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

@araz2salmasi

سلام
بیبنید تابع یه ورودی پیش فرض داره به نام $unit که Km هست و نتیجه رو به کیلومتر بر می گردونه و اگر خواستید به مایل باشه باید Mi رو پاس بدید بهش.
در مورد اون یک کیلومتر مورد عجیبیه که می فرمایید شما به نظرم یک کار کنید توی وب سایت زیر نگاه کنید ببینید فاصله رو چقدر می زنه و با خروجی تابع مقایسه کنید.

https://www.movable-type.co.uk/scripts/latlong.html
برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.