با سلام خدمت دوستان عزیز راکتی
من چند وقته دنبال راهی برای محاسبه ی قیمت پیک از روی نقشه میگردم مثل اسنپ فود
کسی میدونه توی لاراول پکیجی برای اینکار هست یا خیر؟
اگر کسی میتونه این کار رو پیاده سازی کنه و توضیح بده با من تماس بگیره هزینش هم متقبل میشم
ممنون
@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 هم می تونید استفاده کنید
@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 هم می تونید استفاده کنید
@viva.mohammadi
ممنون از راهنماییت مهندس
فقط یه چیزی اگر بخوام مثل اسنپ روی نقشه به صورت منطقه ای قیمت بدم چکار باید بکنم؟
@alijavanmardi1996
خواهش میکنم
اسنپ بعد از تحریم های گوگل مپ از سرویس نقشه زیر داره استفاده میکنه. شما می تونید راهنمای اون رو مطالعه بفرمایید
http://corp.map.ir/
سلام مهندس
@viva.mohammadi
تو تابعی که گفتید نتیجه ای که برگشت داده میشه چیه؟عدد فاصله به کیلومتر هست؟
چون کیلو متر باشه من با مپ چک کردم جایی که مثلا یه کیلومتر فاصله داره رو 3 کیلومتر میگه
خیلی ممنون میشم کمک کنید
سلام
بیبنید تابع یه ورودی پیش فرض داره به نام $unit که Km هست و نتیجه رو به کیلومتر بر می گردونه و اگر خواستید به مایل باشه باید Mi رو پاس بدید بهش.
در مورد اون یک کیلومتر مورد عجیبیه که می فرمایید شما به نظرم یک کار کنید توی وب سایت زیر نگاه کنید ببینید فاصله رو چقدر می زنه و با خروجی تابع مقایسه کنید.
https://www.movable-type.co.uk/scripts/latlong.html
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟